@theoremjs/agents 0.3.4-next.425.gd676bc4 → 0.3.4-next.429.g04f32ef

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.
@@ -18,7 +18,7 @@ export { attachmentAcceptAttr, inputsFromSpec, pickMediaRecorderMime, validatePr
18
18
  export type { InterfaceEffortOption, InterfaceModelOption } from './models.js';
19
19
  export { defaultInterfaceEffort, effortSelectEnabled, generationSelectEnabled, interfaceEffortOptions, interfaceModelOptions, modelSelectEnabled, } from './models.js';
20
20
  export type { ComposerPendingKind, ComposerPendingMessage, CreateComposerPendingMessageArgs, } from './pending.js';
21
- export { COMPOSER_PENDING_KINDS, cloneUserTurnDraft, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, } from './pending.js';
21
+ export { COMPOSER_PENDING_KINDS, cloneUserTurnDraft, composerPendingMoves, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, } from './pending.js';
22
22
  export { profileInterfaceSchema } from './profile-interface.js';
23
23
  export type { AwaitingToolContext, GatedToolContext, InterfaceTurnSession, ToolGateAuth, } from './session.js';
24
24
  export { applyTurnEventsToSession, awaitingFromEvents, branchInterfaceTurnSession, emptyInterfaceTurnSession, gatedToolFromEvents, gatedToolsFromEvents, } from './session.js';
@@ -12,7 +12,7 @@ export { clientProfileInterface, interfaceFromProfile, interfaceFromProjected, }
12
12
  export { answerOpenToolCalls, appendAssistantEventsToHistory, appendPausedTurnToHistory, appendToolDenialToHistory, appendToolExchangeToHistory, appendUserDraftToHistory, assertOpenToolCalls, historyFromTranscriptBlocks, toolReadBack, userDraftToSteerInject, } from './history.js';
13
13
  export { attachmentAcceptAttr, inputsFromSpec, pickMediaRecorderMime, validateProfileInputs, } from './inputs.js';
14
14
  export { defaultInterfaceEffort, effortSelectEnabled, generationSelectEnabled, interfaceEffortOptions, interfaceModelOptions, modelSelectEnabled, } from './models.js';
15
- export { COMPOSER_PENDING_KINDS, cloneUserTurnDraft, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, } from './pending.js';
15
+ export { COMPOSER_PENDING_KINDS, cloneUserTurnDraft, composerPendingMoves, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, } from './pending.js';
16
16
  export { profileInterfaceSchema } from './profile-interface.js';
17
17
  export { applyTurnEventsToSession, awaitingFromEvents, branchInterfaceTurnSession, emptyInterfaceTurnSession, gatedToolFromEvents, gatedToolsFromEvents, } from './session.js';
18
18
  export { stopText, WORDED_STOP_KINDS } from './stop.js';
@@ -42,6 +42,14 @@ declare function removeComposerPendingMessage(messages: readonly ComposerPending
42
42
  declare function updateComposerPendingDraft(messages: readonly ComposerPendingMessage[], id: string, draft: UserTurnDraft, now?: number): ComposerPendingMessage[];
43
43
  /** The messages with this id moved one place up or down among those of its kind. */
44
44
  declare function moveComposerPendingWithinKind(messages: readonly ComposerPendingMessage[], id: string, direction: 'up' | 'down'): ComposerPendingMessage[];
45
+ /**
46
+ * Which ways the message with this id can move: a move stays among the messages of its kind, so a
47
+ * message can go up only past one of its kind before it, and down only past one after it.
48
+ */
49
+ declare function composerPendingMoves(messages: readonly ComposerPendingMessage[], id: string): {
50
+ up: boolean;
51
+ down: boolean;
52
+ };
45
53
  /** One steer per safe boundary: call once per `onStage` inject site. */
46
54
  declare function consumeNextComposerSteer(messages: readonly ComposerPendingMessage[]): {
47
55
  message: ComposerPendingMessage | null;
@@ -54,4 +62,4 @@ declare function consumeNextComposerQueue(messages: readonly ComposerPendingMess
54
62
  };
55
63
  /** The messages with this id changed to another kind. */
56
64
  declare function promoteComposerPendingKind(messages: readonly ComposerPendingMessage[], id: string, kind: ComposerPendingKind, now?: number): ComposerPendingMessage[];
57
- export { cloneUserTurnDraft, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, };
65
+ export { cloneUserTurnDraft, composerPendingMoves, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, };
@@ -118,6 +118,16 @@ function moveComposerPendingWithinKind(messages, id, direction) {
118
118
  };
119
119
  return [...byKind.steer, ...byKind.queue, ...byKind.stash];
120
120
  }
121
+ /**
122
+ * Which ways the message with this id can move: a move stays among the messages of its kind, so a
123
+ * message can go up only past one of its kind before it, and down only past one after it.
124
+ */
125
+ function composerPendingMoves(messages, id) {
126
+ const message = messages.find((m) => m.id === id);
127
+ const sameKind = message ? messages.filter((m) => m.kind === message.kind) : [];
128
+ const index = sameKind.findIndex((m) => m.id === id);
129
+ return { up: index > 0, down: index >= 0 && index < sameKind.length - 1 };
130
+ }
121
131
  /** One steer per safe boundary: call once per `onStage` inject site. */
122
132
  function consumeNextComposerSteer(messages) {
123
133
  const message = messages.find((m) => m.kind === 'steer') ?? null;
@@ -149,4 +159,4 @@ function promoteComposerPendingKind(messages, id, kind, now = Date.now()) {
149
159
  : m);
150
160
  return orderComposerPendingMessages(updated);
151
161
  }
152
- export { cloneUserTurnDraft, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, };
162
+ export { cloneUserTurnDraft, composerPendingMoves, composerPendingPreview, consumeNextComposerQueue, consumeNextComposerSteer, convertSteersToFrontQueued, createComposerPendingMessage, moveComposerPendingWithinKind, orderComposerPendingMessages, promoteComposerPendingKind, removeComposerPendingMessage, removeLandedSteers, updateComposerPendingDraft, userDraftHasPayload, };
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@theoremjs/agents",
3
- "version": "0.3.4-next.425.gd676bc4",
3
+ "version": "0.3.4-next.429.g04f32ef",
4
4
  "description": "A flat TypeScript agent kernel for typed profiles, deterministic turn execution, registered tools, provider adapters, guardrails, and host-injected traces.",
5
5
  "keywords": [
6
6
  "agent",