New:Socket for Asana Is Now Available.Learn more
Get Started

@komnet/protocol

Package Overview
Dependencies
Maintainers
1
Versions
27
Alerts
File Explorer

Advanced tools

Socket logo

Install Socket

Detect and block malicious and high-risk dependencies

Install

@komnet/protocol - npm Package Compare versions

Comparing version
0.7.3
to
0.8.0
+37
-0
dist/identifiers.d.ts

@@ -11,2 +11,39 @@ export declare function isRoomId(value: string): boolean;

export declare function slugify(input: string, maxLength?: number): string | null;
/**
* Prefix that turns a machine id into a routing token.
*
* A mention list holds agent ids, so a machine has to be distinguishable from
* an agent that happens to be named after a laptop. The prefix does that in the
* one place it matters and stays readable in a header a person is reading:
* `mentions: [machine:komdosh-mbp]`.
*
* `:` is already legal in `mentions` (nothing validates the array) and illegal
* in an agent id, so no existing token can collide with one of these, and a
* build that predates machine addressing simply fails to match it rather than
* mis-delivering.
*/
export declare const MENTION_MACHINE_PREFIX = "machine:";
export declare function isMachineId(value: string): boolean;
export declare function assertMachineId(value: string): string;
/** `komdosh-mbp` → `machine:komdosh-mbp`. */
export declare function machineMention(machineId: string): string;
/** Whether a mention token or task target addresses a machine rather than an agent. */
export declare function isMachineToken(value: string): boolean;
/**
* `machine:komdosh-mbp` → `komdosh-mbp`, or null for anything else.
*
* Never throws: this runs over mention arrays written on other machines, and a
* malformed token there is data to ignore, not an error to propagate.
*/
export declare function machineFromToken(value: string): string | null;
/**
* The room a machine's own agents share.
*
* Derived rather than configured so every agent on the box computes the same
* name without coordinating. Room ids forbid `.` and `_`, which machine ids
* allow, so the id is slugified — and prefixed when the slug would be a
* reserved room name, which is the only case where an honest derivation would
* otherwise fail.
*/
export declare function machineRoomId(machineId: string): string;
//# sourceMappingURL=identifiers.d.ts.map
+1
-1

@@ -1,1 +0,1 @@

{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"AAyBA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,GAAG,IAAI,CAUpE"}
{"version":3,"file":"identifiers.d.ts","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"AAyBA,wBAAgB,QAAQ,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAE/C;AAED,wBAAgB,SAAS,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAEhD;AAED,wBAAgB,YAAY,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAYlD;AAED,wBAAgB,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKnD;AAED;;;;GAIG;AACH,wBAAgB,OAAO,CAAC,KAAK,EAAE,MAAM,EAAE,SAAS,SAAK,GAAG,MAAM,GAAG,IAAI,CAUpE;AAUD;;;;;;;;;;;;GAYG;AACH,eAAO,MAAM,sBAAsB,aAAa,CAAC;AAEjD,wBAAgB,WAAW,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAElD;AAED,wBAAgB,eAAe,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,CAKrD;AAED,6CAA6C;AAC7C,wBAAgB,cAAc,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAExD;AAED,uFAAuF;AACvF,wBAAgB,cAAc,CAAC,KAAK,EAAE,MAAM,GAAG,OAAO,CAErD;AAED;;;;;GAKG;AACH,wBAAgB,gBAAgB,CAAC,KAAK,EAAE,MAAM,GAAG,MAAM,GAAG,IAAI,CAI7D;AAED;;;;;;;;GAQG;AACH,wBAAgB,aAAa,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAIvD"}

@@ -59,2 +59,67 @@ import { InvalidIdentifierError } from "./errors.js";

}
/**
* Machine ids share the agent grammar, because they are addressed the same way
* and end up in the same places — a mention token, a task target, a filename in
* an error message. One rule is one thing to get wrong.
*/
const MACHINE_ID_RULE = AGENT_ID_RULE;
const MACHINE_ID_PATTERN = new RegExp(MACHINE_ID_RULE);
/**
* Prefix that turns a machine id into a routing token.
*
* A mention list holds agent ids, so a machine has to be distinguishable from
* an agent that happens to be named after a laptop. The prefix does that in the
* one place it matters and stays readable in a header a person is reading:
* `mentions: [machine:komdosh-mbp]`.
*
* `:` is already legal in `mentions` (nothing validates the array) and illegal
* in an agent id, so no existing token can collide with one of these, and a
* build that predates machine addressing simply fails to match it rather than
* mis-delivering.
*/
export const MENTION_MACHINE_PREFIX = "machine:";
export function isMachineId(value) {
return MACHINE_ID_PATTERN.test(value);
}
export function assertMachineId(value) {
if (!MACHINE_ID_PATTERN.test(value)) {
throw new InvalidIdentifierError("machine id", value, MACHINE_ID_RULE);
}
return value;
}
/** `komdosh-mbp` → `machine:komdosh-mbp`. */
export function machineMention(machineId) {
return `${MENTION_MACHINE_PREFIX}${assertMachineId(machineId)}`;
}
/** Whether a mention token or task target addresses a machine rather than an agent. */
export function isMachineToken(value) {
return machineFromToken(value) !== null;
}
/**
* `machine:komdosh-mbp` → `komdosh-mbp`, or null for anything else.
*
* Never throws: this runs over mention arrays written on other machines, and a
* malformed token there is data to ignore, not an error to propagate.
*/
export function machineFromToken(value) {
if (!value.startsWith(MENTION_MACHINE_PREFIX))
return null;
const id = value.slice(MENTION_MACHINE_PREFIX.length);
return isMachineId(id) ? id : null;
}
/**
* The room a machine's own agents share.
*
* Derived rather than configured so every agent on the box computes the same
* name without coordinating. Room ids forbid `.` and `_`, which machine ids
* allow, so the id is slugified — and prefixed when the slug would be a
* reserved room name, which is the only case where an honest derivation would
* otherwise fail.
*/
export function machineRoomId(machineId) {
const slug = slugify(assertMachineId(machineId));
if (slug === null)
return "machine";
return isRoomId(slug) ? slug : `machine-${slug}`.slice(0, 63).replace(/-+$/g, "");
}
//# sourceMappingURL=identifiers.js.map

@@ -1,1 +0,1 @@

{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,sBAAsB,EAAE,MAAM,aAAa,CAAC;AAErD;;;;;;;;GAQG;AACH,MAAM,YAAY,GAAG,wCAAwC,CAAC;AAC9D,MAAM,eAAe,GAAG,IAAI,MAAM,CAAC,YAAY,CAAC,CAAC;AAEjD,iFAAiF;AACjF,MAAM,aAAa,GAAG,0CAA0C,CAAC;AACjE,MAAM,gBAAgB,GAAG,IAAI,MAAM,CAAC,aAAa,CAAC,CAAC;AAEnD;;;;GAIG;AACH,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAC,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,QAAQ,EAAE,MAAM,CAAC,CAAC,CAAC;AAEhF,MAAM,UAAU,QAAQ,CAAC,KAAa;IACpC,OAAO,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,IAAI,CAAC,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtE,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,KAAa;IACrC,OAAO,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAa;IACxC,IAAI,CAAC,eAAe,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAAC,SAAS,EAAE,KAAK,EAAE,YAAY,CAAC,CAAC;IACnE,CAAC;IACD,IAAI,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,EAAE,CAAC;QACjC,MAAM,IAAI,sBAAsB,CAC9B,SAAS,EACT,KAAK,EACL,sBAAsB,CAAC,GAAG,iBAAiB,CAAC,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,CAC1D,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,IAAI,CAAC,gBAAgB,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAClC,MAAM,IAAI,sBAAsB,CAAC,UAAU,EAAE,KAAK,EAAE,aAAa,CAAC,CAAC;IACrE,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED;;;;GAIG;AACH,MAAM,UAAU,OAAO,CAAC,KAAa,EAAE,SAAS,GAAG,EAAE;IACnD,MAAM,IAAI,GAAG,KAAK;SACf,SAAS,CAAC,MAAM,CAAC;SACjB,OAAO,CAAC,QAAQ,EAAE,EAAE,CAAC;SACrB,WAAW,EAAE;SACb,OAAO,CAAC,aAAa,EAAE,GAAG,CAAC;SAC3B,OAAO,CAAC,UAAU,EAAE,EAAE,CAAC;SACvB,KAAK,CAAC,CAAC,EAAE,SAAS,CAAC;SACnB,OAAO,CAAC,MAAM,EAAE,EAAE,CAAC,CAAC;IACvB,OAAO,IAAI,CAAC,MAAM,GAAG,CAAC,CAAC,CAAC,CAAC,IAAI,CAAC,CAAC,CAAC,IAAI,CAAC;AACvC,CAAC"}
{"version":3,"file":"identifiers.js","sourceRoot":"","sources":["../src/identifiers.ts"],"names":[],"mappings":"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"}

@@ -12,6 +12,6 @@ /**

export type { ReviewTask, ReviewTaskState, NewReviewTaskInput } from "./review.ts";
export { TASK_STATES, TASK_ACTIONS, TASK_UPDATE_ACTIONS, TERMINAL_TASK_STATES, TASK_WIRE_KEYS, DEFAULT_TASK_STALE_AFTER_SECONDS, TaskTransitionError, createTask, parseTask, taskToWire, isTaskWireKey, isTaskState, isTaskAction, isTaskUpdateAction, isTerminalTaskState, assertInitialTask, assertTaskTransition, } from "./task.ts";
export { TASK_STATES, TASK_ACTIONS, TASK_UPDATE_ACTIONS, TERMINAL_TASK_STATES, TASK_WIRE_KEYS, DEFAULT_TASK_STALE_AFTER_SECONDS, TaskTransitionError, createTask, parseTask, taskToWire, isTaskWireKey, isTaskState, isTaskAction, isTaskUpdateAction, isTaskTarget, isTerminalTaskState, taskTargetMachine, assertInitialTask, assertTaskTransition, } from "./task.ts";
export type { Task, TaskState, TaskAction, TaskUpdateAction, NewTaskInput } from "./task.ts";
export { ulid, isUlid, ulidTime, compareUlid, ULID_LENGTH, MAX_ULID_TIME } from "./ids.ts";
export { isRoomId, isAgentId, assertRoomId, assertAgentId, slugify } from "./identifiers.ts";
export { MENTION_MACHINE_PREFIX, isRoomId, isAgentId, isMachineId, isMachineToken, assertRoomId, assertAgentId, assertMachineId, machineMention, machineFromToken, machineRoomId, slugify, } from "./identifiers.ts";
export { MESSAGE_KINDS, NEEDS_VALUES, PRIORITIES, AUTHOR_KINDS, MENTION_ROOM, HANDSHAKE_TAG, HANDSHAKE_ACK_TAG, splitFrontmatter, parseMessage, serializeMessage, canonicalForm, createMessage, isThreadRoot, isAddressedTo, } from "./message.ts";

@@ -18,0 +18,0 @@ export type { Message, MessageHeader, MessageKind, Needs, Priority, AuthorKind, NewMessageInput, } from "./message.ts";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AACrB,YAAY,EAAE,UAAU,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,aAAa,CAAC;AAEnF,OAAO,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AACnB,YAAY,EAAE,IAAI,EAAE,SAAS,EAAE,UAAU,EAAE,gBAAgB,EAAE,YAAY,EAAE,MAAM,WAAW,CAAC;AAE7F,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AACtB,YAAY,EACV,OAAO,EACP,aAAa,EACb,WAAW,EACX,KAAK,EACL,QAAQ,EACR,UAAU,EACV,eAAe,GAChB,MAAM,cAAc,CAAC;AAEtB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,iBAAiB,EAAE,MAAM,YAAY,CAAC;AAEpD,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC;AACpB,YAAY,EAAE,KAAK,EAAE,WAAW,EAAE,MAAM,YAAY,CAAC"}

@@ -11,5 +11,5 @@ /**

export { REVIEW_TASK_STATES, TERMINAL_REVIEW_TASK_STATES, REVIEW_WIRE_KEYS, ReviewTransitionError, createReviewTask, parseReviewTask, reviewTaskToWire, isReviewWireKey, isReviewTaskState, isCanonicalRepositoryId, isTerminalReviewTaskState, assertCanonicalRepositoryId, assertInitialReviewTask, assertReviewTransition, } from "./review.js";
export { TASK_STATES, TASK_ACTIONS, TASK_UPDATE_ACTIONS, TERMINAL_TASK_STATES, TASK_WIRE_KEYS, DEFAULT_TASK_STALE_AFTER_SECONDS, TaskTransitionError, createTask, parseTask, taskToWire, isTaskWireKey, isTaskState, isTaskAction, isTaskUpdateAction, isTerminalTaskState, assertInitialTask, assertTaskTransition, } from "./task.js";
export { TASK_STATES, TASK_ACTIONS, TASK_UPDATE_ACTIONS, TERMINAL_TASK_STATES, TASK_WIRE_KEYS, DEFAULT_TASK_STALE_AFTER_SECONDS, TaskTransitionError, createTask, parseTask, taskToWire, isTaskWireKey, isTaskState, isTaskAction, isTaskUpdateAction, isTaskTarget, isTerminalTaskState, taskTargetMachine, assertInitialTask, assertTaskTransition, } from "./task.js";
export { ulid, isUlid, ulidTime, compareUlid, ULID_LENGTH, MAX_ULID_TIME } from "./ids.js";
export { isRoomId, isAgentId, assertRoomId, assertAgentId, slugify } from "./identifiers.js";
export { MENTION_MACHINE_PREFIX, isRoomId, isAgentId, isMachineId, isMachineToken, assertRoomId, assertAgentId, assertMachineId, machineMention, machineFromToken, machineRoomId, slugify, } from "./identifiers.js";
export { MESSAGE_KINDS, NEEDS_VALUES, PRIORITIES, AUTHOR_KINDS, MENTION_ROOM, HANDSHAKE_TAG, HANDSHAKE_ACK_TAG, splitFrontmatter, parseMessage, serializeMessage, canonicalForm, createMessage, isThreadRoot, isAddressedTo, } from "./message.js";

@@ -16,0 +16,0 @@ export { NET_MANIFEST_PATH, POLICY_PATH, ALLOWED_SIGNERS_PATH, MAIN_REF, ROOM_REF_GLOB, ULID_TAIL_LENGTH, roomRef, roomIdFromRef, roomDir, roomConfigPath, messageDir, messagePath, messageFilename, compactTimestamp, parseMessagePath, isMessagePath, digestPath, decisionPath, receiptPath, agentCardPath, agentProfilePath, sealLockPath, sealTransactionPath, mayModify, } from "./paths.js";

@@ -1,1 +0,1 @@

{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,mBAAmB,EACnB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EAAE,QAAQ,EAAE,SAAS,EAAE,YAAY,EAAE,aAAa,EAAE,OAAO,EAAE,MAAM,kBAAkB,CAAC;AAE7F,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC"}
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,OAAO,EAAE,gBAAgB,EAAE,2BAA2B,EAAE,kBAAkB,EAAE,MAAM,cAAc,CAAC;AAEjG,OAAO,EACL,aAAa,EACb,qBAAqB,EACrB,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAErB,OAAO,EACL,kBAAkB,EAClB,2BAA2B,EAC3B,gBAAgB,EAChB,qBAAqB,EACrB,gBAAgB,EAChB,eAAe,EACf,gBAAgB,EAChB,eAAe,EACf,iBAAiB,EACjB,uBAAuB,EACvB,yBAAyB,EACzB,2BAA2B,EAC3B,uBAAuB,EACvB,sBAAsB,GACvB,MAAM,aAAa,CAAC;AAGrB,OAAO,EACL,WAAW,EACX,YAAY,EACZ,mBAAmB,EACnB,oBAAoB,EACpB,cAAc,EACd,gCAAgC,EAChC,mBAAmB,EACnB,UAAU,EACV,SAAS,EACT,UAAU,EACV,aAAa,EACb,WAAW,EACX,YAAY,EACZ,kBAAkB,EAClB,YAAY,EACZ,mBAAmB,EACnB,iBAAiB,EACjB,iBAAiB,EACjB,oBAAoB,GACrB,MAAM,WAAW,CAAC;AAGnB,OAAO,EAAE,IAAI,EAAE,MAAM,EAAE,QAAQ,EAAE,WAAW,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,UAAU,CAAC;AAE3F,OAAO,EACL,sBAAsB,EACtB,QAAQ,EACR,SAAS,EACT,WAAW,EACX,cAAc,EACd,YAAY,EACZ,aAAa,EACb,eAAe,EACf,cAAc,EACd,gBAAgB,EAChB,aAAa,EACb,OAAO,GACR,MAAM,kBAAkB,CAAC;AAE1B,OAAO,EACL,aAAa,EACb,YAAY,EACZ,UAAU,EACV,YAAY,EACZ,YAAY,EACZ,aAAa,EACb,iBAAiB,EACjB,gBAAgB,EAChB,YAAY,EACZ,gBAAgB,EAChB,aAAa,EACb,aAAa,EACb,YAAY,EACZ,aAAa,GACd,MAAM,cAAc,CAAC;AAWtB,OAAO,EACL,iBAAiB,EACjB,WAAW,EACX,oBAAoB,EACpB,QAAQ,EACR,aAAa,EACb,gBAAgB,EAChB,OAAO,EACP,aAAa,EACb,OAAO,EACP,cAAc,EACd,UAAU,EACV,WAAW,EACX,eAAe,EACf,gBAAgB,EAChB,gBAAgB,EAChB,aAAa,EACb,UAAU,EACV,YAAY,EACZ,WAAW,EACX,aAAa,EACb,gBAAgB,EAChB,YAAY,EACZ,mBAAmB,EACnB,SAAS,GACV,MAAM,YAAY,CAAC;AAGpB,OAAO,EAAE,eAAe,EAAE,WAAW,EAAE,aAAa,EAAE,MAAM,eAAe,CAAC;AAE5E,OAAO,EACL,aAAa,EACb,eAAe,EACf,yBAAyB,EACzB,WAAW,EACX,WAAW,EACX,aAAa,EACb,cAAc,EACd,UAAU,GACX,MAAM,YAAY,CAAC"}

@@ -106,4 +106,11 @@ import { type ReviewTask } from "./review.ts";

* separate concerns (see docs/design/05-delivery-and-humans.md §2).
*
* `machineId` is the computer this agent runs on, and it is the second way to
* be addressed. A sender who knows which machine owns a service but not which
* of the three agents sitting on it is free writes `machine:<id>`, and every
* agent there matches it. Optional because a caller that does not track machine
* identity must keep the behaviour it had rather than silently start or stop
* delivering — omitting it means "match on agent id only".
*/
export declare function isAddressedTo(header: MessageHeader, agentId: string, subscribedRooms: ReadonlySet<string>): boolean;
export declare function isAddressedTo(header: MessageHeader, agentId: string, subscribedRooms: ReadonlySet<string>, machineId?: string): boolean;
export interface NewMessageInput {

@@ -110,0 +117,0 @@ id: string;

@@ -1,1 +0,1 @@

{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"message.d.ts","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}
import { parse as parseYaml, stringify as stringifyYaml } from "yaml";
import { MalformedMessageError, UnsupportedVersionError } from "./errors.js";
import { isUlid } from "./ids.js";
import { isAgentId, isRoomId } from "./identifiers.js";
import { isAgentId, isRoomId, machineMention } from "./identifiers.js";
import { parseReviewTask, reviewTaskToWire, REVIEW_WIRE_KEYS } from "./review.js";

@@ -282,4 +282,11 @@ import { parseTask, taskToWire, TASK_WIRE_KEYS } from "./task.js";

* separate concerns (see docs/design/05-delivery-and-humans.md §2).
*
* `machineId` is the computer this agent runs on, and it is the second way to
* be addressed. A sender who knows which machine owns a service but not which
* of the three agents sitting on it is free writes `machine:<id>`, and every
* agent there matches it. Optional because a caller that does not track machine
* identity must keep the behaviour it had rather than silently start or stop
* delivering — omitting it means "match on agent id only".
*/
export function isAddressedTo(header, agentId, subscribedRooms) {
export function isAddressedTo(header, agentId, subscribedRooms, machineId) {
if (header.from === agentId)

@@ -289,2 +296,4 @@ return false;

return true;
if (machineId !== undefined && header.mentions.includes(machineMention(machineId)))
return true;
return header.mentions.includes(MENTION_ROOM) && subscribedRooms.has(header.room);

@@ -291,0 +300,0 @@ }

@@ -1,1 +0,1 @@

{"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"message.js","sourceRoot":"","sources":["../src/message.ts"],"names":[],"mappings":"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"}

@@ -18,6 +18,30 @@ import { ProtocolError } from "./errors.ts";

title: string;
/** Explicit target while open. Undefined means any room subscriber may claim it. */
/**
* Explicit target while open. Undefined means any room subscriber may claim it.
*
* Either an agent id or a `machine:<id>` token. A machine target is how work
* is handed to a *computer* rather than to one agent on it: the box that has
* the repository checked out, the toolchain installed and the service running
* is the thing that can do the work, and which of the sessions open on it is
* free is not knowable to the sender. Any agent on the named machine may
* claim it, and exactly one wins — the claim is an append-only event reduced
* like every other.
*/
target?: string;
/** Agent that accepted responsibility. Present after claim until release/reopen. */
assignee?: string;
/**
* The machine the assignee claimed from, present only on a machine-targeted task.
*
* This exists so the claim can be validated **from the event alone**. Every
* machine reduces the same log into the same task state, and that determinism
* is what makes a claim a decision rather than an opinion — so "is this
* claimer allowed" must not depend on the reader's roster. A reader that had
* not yet fetched the claimer's card would otherwise reject an event its
* neighbour accepted, and the two would disagree about who owns the work.
*
* Self-asserted, exactly like `from` and like the machine on an agent card:
* it identifies, it does not authenticate.
*/
assigneeMachine?: string;
/** A non-terminal task with no valid event for this many seconds is stale. */

@@ -36,3 +60,6 @@ staleAfterSeconds: number;

}
export declare const TASK_WIRE_KEYS: readonly ["task_id", "task_state", "task_action", "task_creator", "task_title", "task_target", "task_assignee", "task_stale_after_seconds"];
export declare const TASK_WIRE_KEYS: readonly ["task_id", "task_state", "task_action", "task_creator", "task_title", "task_target", "task_assignee", "task_assignee_machine", "task_stale_after_seconds"];
export declare function isTaskTarget(value: unknown): value is string;
/** The machine a target names, or null when it names an agent or nothing. */
export declare function taskTargetMachine(target: string | undefined): string | null;
export declare function isTaskState(value: unknown): value is TaskState;

@@ -48,4 +75,13 @@ export declare function isTaskAction(value: unknown): value is TaskAction;

export declare function assertInitialTask(task: Task, author: string): void;
/** Validate one task event against the latest accepted task snapshot. */
/**
* Validate one task event against the latest accepted task snapshot.
*
* Pure, and deliberately reads nothing outside the two snapshots and the
* author: this runs in the reducer on every machine, and a verdict that
* depended on local state would let two machines disagree about who owns a
* task. A machine-targeted claim is therefore checked against
* `task_assignee_machine` carried on the event itself — self-asserted, like
* `from`, and identical wherever it is read.
*/
export declare function assertTaskTransition(previous: Task, next: Task, author: string): void;
//# sourceMappingURL=task.d.ts.map

@@ -1,1 +0,1 @@

{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
{"version":3,"file":"task.d.ts","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
import { MalformedMessageError, ProtocolError } from "./errors.js";
import { isUlid } from "./ids.js";
import { isAgentId } from "./identifiers.js";
import { isAgentId, isMachineId, isMachineToken, machineFromToken } from "./identifiers.js";
export const TASK_STATES = [

@@ -55,2 +55,3 @@ "open",

"task_assignee",
"task_assignee_machine",
"task_stale_after_seconds",

@@ -76,2 +77,25 @@ ];

}
/**
* A task target: an agent id, or a `machine:<id>` token.
*
* Separate from `optionalAgent` because `task_assignee` is always one concrete
* agent — a machine can be addressed but cannot do work — and collapsing the
* two would let `task_assignee: machine:x` onto the wire.
*/
function optionalTarget(raw, key, source) {
const value = raw[key];
if (value === undefined || value === null)
return undefined;
if (!isTaskTarget(value)) {
throw new MalformedMessageError(`header field ${key} must be an agent id or a machine:<id> token`, source);
}
return value;
}
export function isTaskTarget(value) {
return typeof value === "string" && (isAgentId(value) || isMachineToken(value));
}
/** The machine a target names, or null when it names an agent or nothing. */
export function taskTargetMachine(target) {
return target === undefined ? null : machineFromToken(target);
}
function validateTitle(title, source) {

@@ -115,5 +139,23 @@ if (title.trim().length === 0 || title.length > 200 || /[\r\n]/.test(title)) {

}
if (task.target !== undefined && task.assignee !== undefined && task.target !== task.assignee) {
// A machine target is deliberately exempt: it names the computer the work
// belongs to, and the assignee is whichever agent on it took the task.
const targetMachine = taskTargetMachine(task.target);
if (task.target !== undefined &&
task.assignee !== undefined &&
task.target !== task.assignee &&
targetMachine === null) {
throw new MalformedMessageError("task_assignee must match task_target", source);
}
// The claimer's machine is meaningful only as the answer to "does this
// claimer satisfy the machine target". Allowing it anywhere else would let an
// event carry a machine claim nothing ever checks.
if (task.assigneeMachine !== undefined && task.assignee === undefined) {
throw new MalformedMessageError("task_assignee_machine requires task_assignee", source);
}
if (task.assigneeMachine !== undefined && task.assigneeMachine !== targetMachine) {
throw new MalformedMessageError("task_assignee_machine must be the machine named by task_target", source);
}
if (targetMachine !== null && task.assignee !== undefined && task.assigneeMachine === undefined) {
throw new MalformedMessageError("claiming a machine-targeted task must record task_assignee_machine", source);
}
}

@@ -166,4 +208,12 @@ export function isTaskState(value) {

validateTitle(title, source);
const target = optionalAgent(raw, "task_target", source);
const target = optionalTarget(raw, "task_target", source);
const assignee = optionalAgent(raw, "task_assignee", source);
const assigneeMachineRaw = raw["task_assignee_machine"];
let assigneeMachine;
if (assigneeMachineRaw !== undefined && assigneeMachineRaw !== null) {
if (typeof assigneeMachineRaw !== "string" || !isMachineId(assigneeMachineRaw)) {
throw new MalformedMessageError("header field task_assignee_machine must be a valid machine id", source);
}
assigneeMachine = assigneeMachineRaw;
}
const staleAfterSeconds = validateStaleAfter(raw["task_stale_after_seconds"], source);

@@ -179,2 +229,3 @@ const task = {

...(assignee === undefined ? {} : { assignee }),
...(assigneeMachine === undefined ? {} : { assigneeMachine }),
};

@@ -193,2 +244,3 @@ assertResultShape(task, source);

...(task.assignee === undefined ? {} : { task_assignee: task.assignee }),
...(task.assigneeMachine === undefined ? {} : { task_assignee_machine: task.assigneeMachine }),
task_stale_after_seconds: task.staleAfterSeconds,

@@ -222,5 +274,16 @@ };

function sameAssignment(previous, next) {
return previous.target === next.target && previous.assignee === next.assignee;
return (previous.target === next.target &&
previous.assignee === next.assignee &&
previous.assigneeMachine === next.assigneeMachine);
}
/** Validate one task event against the latest accepted task snapshot. */
/**
* Validate one task event against the latest accepted task snapshot.
*
* Pure, and deliberately reads nothing outside the two snapshots and the
* author: this runs in the reducer on every machine, and a verdict that
* depended on local state would let two machines disagree about who owns a
* task. A machine-targeted claim is therefore checked against
* `task_assignee_machine` carried on the event itself — self-asserted, like
* `from`, and identical wherever it is read.
*/
export function assertTaskTransition(previous, next, author) {

@@ -249,6 +312,22 @@ assertUnchanged(sameIdentity(previous, next), "task id, creator, and stale threshold are immutable");

case "claimed":
assertUnchanged(previous.state === "open" && next.state === "claimed", "only an open task can be claimed");
assertUnchanged(previous.state === "open" && next.state === "claimed",
// Naming the holder matters more since work can be offered to a whole
// machine: two sessions on one box racing for the same task is the
// ordinary case now, and the loser's next move depends on who won.
previous.assignee === undefined
? `a task in state '${previous.state}' cannot be claimed`
: `already claimed by ${previous.assignee}`);
assertUnchanged(previous.assignee === undefined, "the task is already assigned");
assertUnchanged(next.assignee === author, "an agent may claim a task only for itself");
assertUnchanged(previous.target === undefined || previous.target === author, "this task is targeted to another agent");
{
// Both sides must actually be machines. Comparing a null target machine
// against an absent claimer machine reads as "equal" and would let any
// agent take over work targeted at a named colleague.
const targetMachine = taskTargetMachine(previous.target);
assertUnchanged(previous.target === undefined ||
previous.target === author ||
(targetMachine !== null && targetMachine === next.assigneeMachine), targetMachine === null
? "this task is targeted to another agent"
: `this task is targeted to ${previous.target}, not to this machine`);
}
return;

@@ -271,3 +350,3 @@ case "started":

assertUnchanged(author === previous.assignee || author === previous.creator, "only the assignee or creator may release a task");
assertUnchanged(next.assignee === undefined, "a released task must clear its assignee");
assertUnchanged(next.assignee === undefined && next.assigneeMachine === undefined, "a released task must clear its assignee");
return;

@@ -274,0 +353,0 @@ case "completed":

@@ -1,1 +0,1 @@

{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,qBAAqB,EAAE,aAAa,EAAE,MAAM,aAAa,CAAC;AACnE,OAAO,EAAE,MAAM,EAAE,MAAM,UAAU,CAAC;AAClC,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,MAAM,CAAC,MAAM,WAAW,GAAG;IACzB,MAAM;IACN,SAAS;IACT,aAAa;IACb,SAAS;IACT,OAAO;IACP,WAAW;IACX,WAAW;CACH,CAAC;AAGX,MAAM,CAAC,MAAM,YAAY,GAAG;IAC1B,SAAS;IACT,SAAS;IACT,YAAY;IACZ,SAAS;IACT,SAAS;IACT,YAAY;IACZ,SAAS;IACT,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,mBAAmB,GAAG;IACjC,SAAS;IACT,YAAY;IACZ,SAAS;IACT,YAAY;IACZ,SAAS;IACT,OAAO;IACP,UAAU;IACV,WAAW;IACX,WAAW;IACX,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,oBAAoB,GAAG,CAAC,WAAW,EAAE,WAAW,CAAU,CAAC;AACxE,MAAM,CAAC,MAAM,gCAAgC,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AA0B7D,MAAM,OAAO,mBAAoB,SAAQ,aAAa;IACpD,YAAY,OAAe;QACzB,KAAK,CAAC,yBAAyB,EAAE,OAAO,CAAC,CAAC;QAC1C,IAAI,CAAC,IAAI,GAAG,qBAAqB,CAAC;IACpC,CAAC;CACF;AAED,MAAM,CAAC,MAAM,cAAc,GAAG;IAC5B,SAAS;IACT,YAAY;IACZ,aAAa;IACb,cAAc;IACd,YAAY;IACZ,aAAa;IACb,eAAe;IACf,0BAA0B;CAClB,CAAC;AAEX,MAAM,iBAAiB,GAAG,IAAI,GAAG,CAAS,cAAc,CAAC,CAAC;AAC1D,MAAM,4BAA4B,GAAG,GAAG,GAAG,EAAE,GAAG,EAAE,GAAG,EAAE,CAAC;AAExD,SAAS,cAAc,CACrB,GAA4B,EAC5B,GAAW,EACX,MAA0B;IAE1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,KAAK,CAAC,MAAM,KAAK,CAAC,EAAE,CAAC;QACpD,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,GAAG,6BAA6B,EAAE,MAAM,CAAC,CAAC;IAC5F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CACpB,GAA4B,EAC5B,GAAW,EACX,MAA0B;IAE1B,MAAM,KAAK,GAAG,GAAG,CAAC,GAAG,CAAC,CAAC;IACvB,IAAI,KAAK,KAAK,SAAS,IAAI,KAAK,KAAK,IAAI;QAAE,OAAO,SAAS,CAAC;IAC5D,IAAI,OAAO,KAAK,KAAK,QAAQ,IAAI,CAAC,SAAS,CAAC,KAAK,CAAC,EAAE,CAAC;QACnD,MAAM,IAAI,qBAAqB,CAAC,gBAAgB,GAAG,2BAA2B,EAAE,MAAM,CAAC,CAAC;IAC1F,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,aAAa,CAAC,KAAa,EAAE,MAAe;IACnD,IAAI,KAAK,CAAC,IAAI,EAAE,CAAC,MAAM,KAAK,CAAC,IAAI,KAAK,CAAC,MAAM,GAAG,GAAG,IAAI,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC5E,MAAM,IAAI,qBAAqB,CAC7B,8EAA8E,EAC9E,MAAM,CACP,CAAC;IACJ,CAAC;AACH,CAAC;AAED,SAAS,kBAAkB,CAAC,KAAc,EAAE,MAAe;IACzD,IACE,OAAO,KAAK,KAAK,QAAQ;QACzB,CAAC,MAAM,CAAC,SAAS,CAAC,KAAK,CAAC;QACxB,KAAK,GAAG,EAAE;QACV,KAAK,GAAG,4BAA4B,EACpC,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,uEAAuE,MAAM,CAAC,4BAA4B,CAAC,EAAE,EAC7G,MAAM,CACP,CAAC;IACJ,CAAC;IACD,OAAO,KAAK,CAAC;AACf,CAAC;AAED,SAAS,iBAAiB,CAAC,IAAU,EAAE,MAAe;IACpD,MAAM,cAAc,GAAsD;QACxE,OAAO,EAAE,CAAC,MAAM,CAAC;QACjB,UAAU,EAAE,CAAC,MAAM,CAAC;QACpB,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,OAAO,EAAE,CAAC,aAAa,CAAC;QACxB,UAAU,EAAE,CAAC,aAAa,CAAC;QAC3B,OAAO,EAAE,CAAC,SAAS,CAAC;QACpB,KAAK,EAAE,CAAC,OAAO,CAAC;QAChB,QAAQ,EAAE,CAAC,MAAM,CAAC;QAClB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,SAAS,EAAE,CAAC,WAAW,CAAC;QACxB,QAAQ,EAAE,CAAC,MAAM,CAAC;KACnB,CAAC;IACF,MAAM,OAAO,GAAG,cAAc,CAAC,IAAI,CAAC,MAAM,CAAC,CAAC;IAC5C,IAAI,OAAO,KAAK,SAAS,IAAI,CAAC,OAAO,CAAC,QAAQ,CAAC,IAAI,CAAC,KAAK,CAAC,EAAE,CAAC;QAC3D,MAAM,IAAI,qBAAqB,CAC7B,gBAAgB,IAAI,CAAC,MAAM,2BAA2B,IAAI,CAAC,KAAK,GAAG,EACnE,MAAM,CACP,CAAC;IACJ,CAAC;IAED,MAAM,gBAAgB,GAAG,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,EAAE,WAAW,CAAC,CAAC,QAAQ,CAC3F,IAAI,CAAC,KAAK,CACX,CAAC;IACF,MAAM,eAAe,GAAG,IAAI,CAAC,KAAK,KAAK,MAAM,CAAC;IAC9C,IACE,CAAC,gBAAgB,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC;QACjD,CAAC,eAAe,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,EAChD,CAAC;QACD,MAAM,IAAI,qBAAqB,CAC7B,eAAe,IAAI,CAAC,KAAK,KAAK,gBAAgB,CAAC,CAAC,CAAC,UAAU,CAAC,CAAC,CAAC,gBAAgB,gBAAgB,EAC9F,MAAM,CACP,CAAC;IACJ,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,MAAM,KAAK,IAAI,CAAC,QAAQ,EAAE,CAAC;QAC9F,MAAM,IAAI,qBAAqB,CAAC,sCAAsC,EAAE,MAAM,CAAC,CAAC;IAClF,CAAC;AACH,CAAC;AAED,MAAM,UAAU,WAAW,CAAC,KAAc;IACxC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,WAAiC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACzF,CAAC;AAED,MAAM,UAAU,YAAY,CAAC,KAAc;IACzC,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,YAAkC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AAC1F,CAAC;AAED,MAAM,UAAU,kBAAkB,CAAC,KAAc;IAC/C,OAAO,OAAO,KAAK,KAAK,QAAQ,IAAK,mBAAyC,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACjG,CAAC;AAED,MAAM,UAAU,mBAAmB,CAAC,KAAgB;IAClD,OAAQ,oBAA6C,CAAC,QAAQ,CAAC,KAAK,CAAC,CAAC;AACxE,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,KAAmB;IAC5C,MAAM,GAAG,GAA4B;QACnC,OAAO,EAAE,KAAK,CAAC,EAAE;QACjB,UAAU,EAAE,MAAM;QAClB,WAAW,EAAE,SAAS;QACtB,YAAY,EAAE,KAAK,CAAC,OAAO;QAC3B,UAAU,EAAE,KAAK,CAAC,KAAK;QACvB,wBAAwB,EAAE,KAAK,CAAC,iBAAiB,IAAI,gCAAgC;QACrF,GAAG,CAAC,KAAK,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,KAAK,CAAC,MAAM,EAAE,CAAC;KACrE,CAAC;IACF,OAAO,SAAS,CAAC,GAAG,CAAS,CAAC;AAChC,CAAC;AAED,MAAM,UAAU,SAAS,CAAC,GAA4B,EAAE,MAAe;IACrE,MAAM,OAAO,GAAG,cAAc,CAAC,MAAM,CAAC,CAAC,GAAG,EAAE,EAAE,CAAC,GAAG,CAAC,GAAG,CAAC,KAAK,SAAS,IAAI,GAAG,CAAC,GAAG,CAAC,KAAK,IAAI,CAAC,CAAC;IAC5F,IAAI,OAAO,CAAC,MAAM,KAAK,CAAC;QAAE,OAAO,SAAS,CAAC;IAE3C,MAAM,EAAE,GAAG,cAAc,CAAC,GAAG,EAAE,SAAS,EAAE,MAAM,CAAC,CAAC;IAClD,IAAI,CAAC,MAAM,CAAC,EAAE,CAAC,EAAE,CAAC;QAChB,MAAM,IAAI,qBAAqB,CAAC,uCAAuC,EAAE,EAAE,EAAE,MAAM,CAAC,CAAC;IACvF,CAAC;IACD,MAAM,KAAK,GAAG,GAAG,CAAC,YAAY,CAAC,CAAC;IAChC,IAAI,CAAC,WAAW,CAAC,KAAK,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,qBAAqB,CAC7B,2CAA2C,WAAW,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACnE,MAAM,CACP,CAAC;IACJ,CAAC;IACD,MAAM,MAAM,GAAG,GAAG,CAAC,aAAa,CAAC,CAAC;IAClC,IAAI,CAAC,YAAY,CAAC,MAAM,CAAC,EAAE,CAAC;QAC1B,MAAM,IAAI,qBAAqB,CAC7B,4CAA4C,YAAY,CAAC,IAAI,CAAC,IAAI,CAAC,EAAE,EACrE,MAAM,CACP,CAAC;IACJ,CAAC;IACD,MAAM,OAAO,GAAG,cAAc,CAAC,GAAG,EAAE,cAAc,EAAE,MAAM,CAAC,CAAC;IAC5D,IAAI,CAAC,SAAS,CAAC,OAAO,CAAC,EAAE,CAAC;QACxB,MAAM,IAAI,qBAAqB,CAAC,oDAAoD,EAAE,MAAM,CAAC,CAAC;IAChG,CAAC;IACD,MAAM,KAAK,GAAG,cAAc,CAAC,GAAG,EAAE,YAAY,EAAE,MAAM,CAAC,CAAC;IACxD,aAAa,CAAC,KAAK,EAAE,MAAM,CAAC,CAAC;IAC7B,MAAM,MAAM,GAAG,aAAa,CAAC,GAAG,EAAE,aAAa,EAAE,MAAM,CAAC,CAAC;IACzD,MAAM,QAAQ,GAAG,aAAa,CAAC,GAAG,EAAE,eAAe,EAAE,MAAM,CAAC,CAAC;IAC7D,MAAM,iBAAiB,GAAG,kBAAkB,CAAC,GAAG,CAAC,0BAA0B,CAAC,EAAE,MAAM,CAAC,CAAC;IAEtF,MAAM,IAAI,GAAS;QACjB,EAAE;QACF,KAAK;QACL,MAAM;QACN,OAAO;QACP,KAAK;QACL,iBAAiB;QACjB,GAAG,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,MAAM,EAAE,CAAC;QAC3C,GAAG,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,QAAQ,EAAE,CAAC;KAChD,CAAC;IACF,iBAAiB,CAAC,IAAI,EAAE,MAAM,CAAC,CAAC;IAChC,OAAO,IAAI,CAAC;AACd,CAAC;AAED,MAAM,UAAU,UAAU,CAAC,IAAU;IACnC,OAAO;QACL,OAAO,EAAE,IAAI,CAAC,EAAE;QAChB,UAAU,EAAE,IAAI,CAAC,KAAK;QACtB,WAAW,EAAE,IAAI,CAAC,MAAM;QACxB,YAAY,EAAE,IAAI,CAAC,OAAO;QAC1B,UAAU,EAAE,IAAI,CAAC,KAAK;QACtB,GAAG,CAAC,IAAI,CAAC,MAAM,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,WAAW,EAAE,IAAI,CAAC,MAAM,EAAE,CAAC;QAClE,GAAG,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,CAAC,EAAE,aAAa,EAAE,IAAI,CAAC,QAAQ,EAAE,CAAC;QACxE,wBAAwB,EAAE,IAAI,CAAC,iBAAiB;KACjD,CAAC;AACJ,CAAC;AAED,MAAM,UAAU,aAAa,CAAC,KAAa;IACzC,OAAO,iBAAiB,CAAC,GAAG,CAAC,KAAK,CAAC,CAAC;AACtC,CAAC;AAED,sDAAsD;AACtD,MAAM,UAAU,iBAAiB,CAAC,IAAU,EAAE,MAAc;IAC1D,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAAE,CAAC;QACvD,MAAM,IAAI,mBAAmB,CAAC,+DAA+D,CAAC,CAAC;IACjG,CAAC;IACD,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,CAAC;QAChC,MAAM,IAAI,mBAAmB,CAAC,4CAA4C,CAAC,CAAC;IAC9E,CAAC;IACD,IAAI,MAAM,KAAK,IAAI,CAAC,OAAO,EAAE,CAAC;QAC5B,MAAM,IAAI,mBAAmB,CAAC,6CAA6C,CAAC,CAAC;IAC/E,CAAC;AACH,CAAC;AAED,SAAS,eAAe,CAAC,SAAkB,EAAE,OAAe;IAC1D,IAAI,CAAC,SAAS;QAAE,MAAM,IAAI,mBAAmB,CAAC,OAAO,CAAC,CAAC;AACzD,CAAC;AAED,SAAS,YAAY,CAAC,QAAc,EAAE,IAAU;IAC9C,OAAO,CACL,QAAQ,CAAC,EAAE,KAAK,IAAI,CAAC,EAAE;QACvB,QAAQ,CAAC,OAAO,KAAK,IAAI,CAAC,OAAO;QACjC,QAAQ,CAAC,iBAAiB,KAAK,IAAI,CAAC,iBAAiB,CACtD,CAAC;AACJ,CAAC;AAED,SAAS,cAAc,CAAC,QAAc,EAAE,IAAU;IAChD,OAAO,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,IAAI,QAAQ,CAAC,QAAQ,KAAK,IAAI,CAAC,QAAQ,CAAC;AAChF,CAAC;AAED,yEAAyE;AACzE,MAAM,UAAU,oBAAoB,CAAC,QAAc,EAAE,IAAU,EAAE,MAAc;IAC7E,eAAe,CACb,YAAY,CAAC,QAAQ,EAAE,IAAI,CAAC,EAC5B,qDAAqD,CACtD,CAAC;IACF,IAAI,IAAI,CAAC,MAAM,KAAK,SAAS,EAAE,CAAC;QAC9B,eAAe,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,6CAA6C,CAAC,CAAC;IAChG,CAAC;IACD,IAAI,IAAI,CAAC,MAAM,KAAK,YAAY,EAAE,CAAC;QACjC,eAAe,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,4CAA4C,CAAC,CAAC;IACjG,CAAC;IAED,QAAQ,IAAI,CAAC,MAAM,EAAE,CAAC;QACpB,KAAK,SAAS;YACZ,MAAM,IAAI,mBAAmB,CAAC,yCAAyC,CAAC,CAAC;QAC3E,KAAK,SAAS;YACZ,eAAe,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,mCAAmC,CAAC,CAAC;YAC3F,eAAe,CAAC,QAAQ,CAAC,KAAK,KAAK,IAAI,CAAC,KAAK,EAAE,uCAAuC,CAAC,CAAC;YACxF,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,uCAAuC,CAAC,CAAC;YACzF,OAAO;QACT,KAAK,YAAY;YACf,eAAe,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,uCAAuC,CAAC,CAAC;YACtF,eAAe,CACb,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAClD,qCAAqC,CACtC,CAAC;YACF,eAAe,CACb,QAAQ,CAAC,QAAQ,KAAK,SAAS,IAAI,IAAI,CAAC,QAAQ,KAAK,SAAS,EAC9D,oDAAoD,CACrD,CAAC;YACF,eAAe,CAAC,QAAQ,CAAC,MAAM,KAAK,IAAI,CAAC,MAAM,EAAE,oCAAoC,CAAC,CAAC;YACvF,OAAO;QACT,KAAK,SAAS;YACZ,eAAe,CACb,QAAQ,CAAC,KAAK,KAAK,MAAM,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EACrD,kCAAkC,CACnC,CAAC;YACF,eAAe,CAAC,QAAQ,CAAC,QAAQ,KAAK,SAAS,EAAE,8BAA8B,CAAC,CAAC;YACjF,eAAe,CAAC,IAAI,CAAC,QAAQ,KAAK,MAAM,EAAE,2CAA2C,CAAC,CAAC;YACvF,eAAe,CACb,QAAQ,CAAC,MAAM,KAAK,SAAS,IAAI,QAAQ,CAAC,MAAM,KAAK,MAAM,EAC3D,wCAAwC,CACzC,CAAC;YACF,OAAO;QACT,KAAK,SAAS;YACZ,eAAe,CACb,CAAC,SAAS,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EACxF,+CAA+C,CAChD,CAAC;YACF,MAAM;QACR,KAAK,YAAY;YACf,eAAe,CACb,QAAQ,CAAC,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,KAAK,aAAa,EAChE,uCAAuC,CACxC,CAAC;YACF,MAAM;QACR,KAAK,SAAS;YACZ,eAAe,CACb,CAAC,SAAS,EAAE,aAAa,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,SAAS,EAC/E,mDAAmD,CACpD,CAAC;YACF,MAAM;QACR,KAAK,OAAO;YACV,eAAe,CACb,CAAC,aAAa,EAAE,SAAS,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,OAAO,EAC7E,kDAAkD,CACnD,CAAC;YACF,MAAM;QACR,KAAK,UAAU;YACb,eAAe,CACb,CAAC,SAAS,EAAE,aAAa,EAAE,SAAS,EAAE,OAAO,CAAC,CAAC,QAAQ,CAAC,QAAQ,CAAC,KAAK,CAAC;gBACrE,IAAI,CAAC,KAAK,KAAK,MAAM,EACvB,kDAAkD,CACnD,CAAC;YACF,eAAe,CACb,MAAM,KAAK,QAAQ,CAAC,QAAQ,IAAI,MAAM,KAAK,QAAQ,CAAC,OAAO,EAC3D,iDAAiD,CAClD,CAAC;YACF,eAAe,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,yCAAyC,CAAC,CAAC;YACxF,OAAO;QACT,KAAK,WAAW;YACd,eAAe,CACb,QAAQ,CAAC,KAAK,KAAK,aAAa,IAAI,IAAI,CAAC,KAAK,KAAK,WAAW,EAC9D,wCAAwC,CACzC,CAAC;YACF,MAAM;QACR,KAAK,WAAW;YACd,eAAe,CAAC,CAAC,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,EAAE,8BAA8B,CAAC,CAAC;YACtF,eAAe,CAAC,IAAI,CAAC,KAAK,KAAK,WAAW,EAAE,2CAA2C,CAAC,CAAC;YACzF,eAAe,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;YACpF,eAAe,CAAC,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,EAAE,qCAAqC,CAAC,CAAC;YACvF,OAAO;QACT,KAAK,UAAU;YACb,eAAe,CACb,mBAAmB,CAAC,QAAQ,CAAC,KAAK,CAAC,IAAI,IAAI,CAAC,KAAK,KAAK,MAAM,EAC5D,sCAAsC,CACvC,CAAC;YACF,eAAe,CAAC,MAAM,KAAK,QAAQ,CAAC,OAAO,EAAE,qCAAqC,CAAC,CAAC;YACpF,eAAe,CAAC,IAAI,CAAC,QAAQ,KAAK,SAAS,EAAE,uCAAuC,CAAC,CAAC;YACtF,OAAO;IACX,CAAC;IAED,eAAe,CACb,cAAc,CAAC,QAAQ,EAAE,IAAI,CAAC,EAC9B,gBAAgB,IAAI,CAAC,MAAM,4BAA4B,CACxD,CAAC;IACF,eAAe,CACb,MAAM,KAAK,QAAQ,CAAC,QAAQ,EAC5B,iBAAiB,QAAQ,CAAC,QAAQ,IAAI,QAAQ,qBAAqB,IAAI,CAAC,MAAM,GAAG,CAClF,CAAC;AACJ,CAAC"}
{"version":3,"file":"task.js","sourceRoot":"","sources":["../src/task.ts"],"names":[],"mappings":"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"}
{
"name": "@komnet/protocol",
"version": "0.7.3",
"version": "0.8.0",
"description": "komnet wire protocol: message and task formats, path conventions, and identifier rules. The on-disk contract every agent agrees on.",

@@ -5,0 +5,0 @@ "license": "MIT",