@dorokuma/herdsman 0.6.6 → 0.9.0
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/README.ja.md +2 -2
- package/README.md +5 -5
- package/dist/src/agent-history/antigravity-proto.d.ts +7 -0
- package/dist/src/agent-history/antigravity-proto.d.ts.map +1 -0
- package/dist/src/agent-history/antigravity-proto.js +124 -0
- package/dist/src/agent-history/antigravity-proto.js.map +1 -0
- package/dist/src/agent-history/antigravity-reader.d.ts +11 -0
- package/dist/src/agent-history/antigravity-reader.d.ts.map +1 -0
- package/dist/src/agent-history/antigravity-reader.js +72 -0
- package/dist/src/agent-history/antigravity-reader.js.map +1 -0
- package/dist/src/agent-history/discovery.d.ts +2 -1
- package/dist/src/agent-history/discovery.d.ts.map +1 -1
- package/dist/src/agent-history/discovery.js +124 -1
- package/dist/src/agent-history/discovery.js.map +1 -1
- package/dist/src/agent-history/grok-reader.d.ts +11 -0
- package/dist/src/agent-history/grok-reader.d.ts.map +1 -0
- package/dist/src/agent-history/grok-reader.js +54 -0
- package/dist/src/agent-history/grok-reader.js.map +1 -0
- package/dist/src/agent-history/readers.d.ts +13 -0
- package/dist/src/agent-history/readers.d.ts.map +1 -1
- package/dist/src/agent-history/readers.js +30 -3
- package/dist/src/agent-history/readers.js.map +1 -1
- package/dist/src/agent-history/service.d.ts +1 -0
- package/dist/src/agent-history/service.d.ts.map +1 -1
- package/dist/src/agent-history/service.js +39 -5
- package/dist/src/agent-history/service.js.map +1 -1
- package/dist/src/agent-history/tool-compaction.js +2 -2
- package/dist/src/agent-history/tool-compaction.js.map +1 -1
- package/dist/src/cli/herdsman.d.ts +5 -0
- package/dist/src/cli/herdsman.d.ts.map +1 -1
- package/dist/src/cli/herdsman.js +7 -9
- package/dist/src/cli/herdsman.js.map +1 -1
- package/dist/src/config/runtime.d.ts.map +1 -1
- package/dist/src/config/runtime.js +1 -4
- package/dist/src/config/runtime.js.map +1 -1
- package/dist/src/daemon/agent-event-reconciler.d.ts +26 -0
- package/dist/src/daemon/agent-event-reconciler.d.ts.map +1 -0
- package/dist/src/daemon/agent-event-reconciler.js +117 -0
- package/dist/src/daemon/agent-event-reconciler.js.map +1 -0
- package/dist/src/daemon/client.d.ts.map +1 -1
- package/dist/src/daemon/client.js +6 -1
- package/dist/src/daemon/client.js.map +1 -1
- package/dist/src/daemon/observability-server.d.ts +18 -0
- package/dist/src/daemon/observability-server.d.ts.map +1 -1
- package/dist/src/daemon/observability-server.js +91 -8
- package/dist/src/daemon/observability-server.js.map +1 -1
- package/dist/src/daemon/service.d.ts.map +1 -1
- package/dist/src/daemon/service.js +14 -0
- package/dist/src/daemon/service.js.map +1 -1
- package/dist/src/db/agent-context-snapshots.js +1 -12
- package/dist/src/db/agent-context-snapshots.js.map +1 -1
- package/dist/src/db/agent-events.d.ts +24 -0
- package/dist/src/db/agent-events.d.ts.map +1 -1
- package/dist/src/db/agent-events.js +128 -11
- package/dist/src/db/agent-events.js.map +1 -1
- package/dist/src/db/agent-orchestrator-scopes.d.ts +15 -0
- package/dist/src/db/agent-orchestrator-scopes.d.ts.map +1 -1
- package/dist/src/db/agent-orchestrator-scopes.js +43 -0
- package/dist/src/db/agent-orchestrator-scopes.js.map +1 -1
- package/dist/src/db/agents.d.ts +5 -0
- package/dist/src/db/agents.d.ts.map +1 -1
- package/dist/src/db/agents.js +67 -11
- package/dist/src/db/agents.js.map +1 -1
- package/dist/src/db/schema.d.ts +146 -0
- package/dist/src/db/schema.d.ts.map +1 -1
- package/dist/src/db/schema.js +12 -1
- package/dist/src/db/schema.js.map +1 -1
- package/dist/src/observability/agent-context-service.d.ts +1 -0
- package/dist/src/observability/agent-context-service.d.ts.map +1 -1
- package/dist/src/observability/agent-context-service.js +12 -7
- package/dist/src/observability/agent-context-service.js.map +1 -1
- package/dist/src/observability/agent-index-service.d.ts +2 -0
- package/dist/src/observability/agent-index-service.d.ts.map +1 -1
- package/dist/src/observability/agent-index-service.js +116 -19
- package/dist/src/observability/agent-index-service.js.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.d.ts.map +1 -1
- package/dist/src/observability/agent-orchestrator-service.js +72 -9
- package/dist/src/observability/agent-orchestrator-service.js.map +1 -1
- package/dist/src/observability/contracts.d.ts +16 -1
- package/dist/src/observability/contracts.d.ts.map +1 -1
- package/dist/src/observability/contracts.js.map +1 -1
- package/dist/src/observability/errors.d.ts +53 -0
- package/dist/src/observability/errors.d.ts.map +1 -0
- package/dist/src/observability/errors.js +30 -0
- package/dist/src/observability/errors.js.map +1 -0
- package/dist/src/observability/schemas.d.ts +7 -0
- package/dist/src/observability/schemas.d.ts.map +1 -1
- package/dist/src/observability/schemas.js +7 -0
- package/dist/src/observability/schemas.js.map +1 -1
- package/dist/src/observability/turn-completion.d.ts +45 -0
- package/dist/src/observability/turn-completion.d.ts.map +1 -0
- package/dist/src/observability/turn-completion.js +85 -0
- package/dist/src/observability/turn-completion.js.map +1 -0
- package/drizzle/0006_grok_home.sql +1 -0
- package/drizzle/0007_moaning_guardian.sql +10 -0
- package/drizzle/meta/0006_snapshot.json +686 -0
- package/drizzle/meta/0007_snapshot.json +762 -0
- package/drizzle/meta/_journal.json +57 -7
- package/package.json +23 -25
|
@@ -0,0 +1,53 @@
|
|
|
1
|
+
export declare const ORCHESTRATOR_ACK_ERROR_CODES: {
|
|
2
|
+
readonly ORCHESTRATOR_NOT_OWNER: {
|
|
3
|
+
readonly retryable: false;
|
|
4
|
+
};
|
|
5
|
+
readonly ORCHESTRATOR_EVENT_INVALIDATED: {
|
|
6
|
+
readonly retryable: false;
|
|
7
|
+
};
|
|
8
|
+
readonly ORCHESTRATOR_EVENT_FAILED: {
|
|
9
|
+
readonly retryable: false;
|
|
10
|
+
};
|
|
11
|
+
readonly ORCHESTRATOR_EVENT_ALREADY_ACKED: {
|
|
12
|
+
readonly retryable: false;
|
|
13
|
+
};
|
|
14
|
+
readonly ORCHESTRATOR_EVENT_NOT_IN_SCOPE: {
|
|
15
|
+
readonly retryable: false;
|
|
16
|
+
};
|
|
17
|
+
readonly ORCHESTRATOR_EVENT_OUT_OF_ORDER: {
|
|
18
|
+
readonly retryable: false;
|
|
19
|
+
};
|
|
20
|
+
readonly ORCHESTRATOR_OWNER_REPLACED: {
|
|
21
|
+
readonly retryable: false;
|
|
22
|
+
};
|
|
23
|
+
readonly ORCHESTRATOR_EVENT_NOT_FOUND: {
|
|
24
|
+
readonly retryable: false;
|
|
25
|
+
};
|
|
26
|
+
readonly ORCHESTRATOR_BUSY: {
|
|
27
|
+
readonly retryable: true;
|
|
28
|
+
};
|
|
29
|
+
readonly ORCHESTRATOR_CONNECTION_LOST: {
|
|
30
|
+
readonly retryable: true;
|
|
31
|
+
};
|
|
32
|
+
readonly ORCHESTRATOR_RECONCILING: {
|
|
33
|
+
readonly retryable: true;
|
|
34
|
+
};
|
|
35
|
+
readonly ORCHESTRATOR_ACK_TIMEOUT: {
|
|
36
|
+
readonly retryable: true;
|
|
37
|
+
};
|
|
38
|
+
};
|
|
39
|
+
export type OrchestratorAckErrorCode = keyof typeof ORCHESTRATOR_ACK_ERROR_CODES;
|
|
40
|
+
export declare class OrchestratorAckError extends Error {
|
|
41
|
+
readonly code: OrchestratorAckErrorCode;
|
|
42
|
+
readonly retryable: boolean;
|
|
43
|
+
constructor(input: {
|
|
44
|
+
code: OrchestratorAckErrorCode;
|
|
45
|
+
message: string;
|
|
46
|
+
});
|
|
47
|
+
}
|
|
48
|
+
export declare const ORCHESTRATOR_ACK_MESSAGES: {
|
|
49
|
+
readonly notOwner: "Only the current orchestrator can acknowledge notifications";
|
|
50
|
+
readonly invalidated: "orchestrator event is no longer pending (invalidated)";
|
|
51
|
+
readonly outOfOrder: "Only the next pending orchestrator event can be acknowledged";
|
|
52
|
+
};
|
|
53
|
+
//# sourceMappingURL=errors.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.d.ts","sourceRoot":"","sources":["../../../src/observability/errors.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,4BAA4B;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;CAa/B,CAAC;AAEX,MAAM,MAAM,wBAAwB,GAAG,MAAM,OAAO,4BAA4B,CAAC;AAEjF,qBAAa,oBAAqB,SAAQ,KAAK;IAC7C,QAAQ,CAAC,IAAI,EAAE,wBAAwB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,OAAO,CAAC;gBAEhB,KAAK,EAAE;QAAE,IAAI,EAAE,wBAAwB,CAAC;QAAC,OAAO,EAAE,MAAM,CAAA;KAAE;CAMvE;AAED,eAAO,MAAM,yBAAyB;;;;CAI5B,CAAC"}
|
|
@@ -0,0 +1,30 @@
|
|
|
1
|
+
export const ORCHESTRATOR_ACK_ERROR_CODES = {
|
|
2
|
+
ORCHESTRATOR_NOT_OWNER: { retryable: false },
|
|
3
|
+
ORCHESTRATOR_EVENT_INVALIDATED: { retryable: false },
|
|
4
|
+
ORCHESTRATOR_EVENT_FAILED: { retryable: false },
|
|
5
|
+
ORCHESTRATOR_EVENT_ALREADY_ACKED: { retryable: false },
|
|
6
|
+
ORCHESTRATOR_EVENT_NOT_IN_SCOPE: { retryable: false },
|
|
7
|
+
ORCHESTRATOR_EVENT_OUT_OF_ORDER: { retryable: false },
|
|
8
|
+
ORCHESTRATOR_OWNER_REPLACED: { retryable: false },
|
|
9
|
+
ORCHESTRATOR_EVENT_NOT_FOUND: { retryable: false },
|
|
10
|
+
ORCHESTRATOR_BUSY: { retryable: true },
|
|
11
|
+
ORCHESTRATOR_CONNECTION_LOST: { retryable: true },
|
|
12
|
+
ORCHESTRATOR_RECONCILING: { retryable: true },
|
|
13
|
+
ORCHESTRATOR_ACK_TIMEOUT: { retryable: true },
|
|
14
|
+
};
|
|
15
|
+
export class OrchestratorAckError extends Error {
|
|
16
|
+
code;
|
|
17
|
+
retryable;
|
|
18
|
+
constructor(input) {
|
|
19
|
+
super(input.message);
|
|
20
|
+
this.name = "OrchestratorAckError";
|
|
21
|
+
this.code = input.code;
|
|
22
|
+
this.retryable = ORCHESTRATOR_ACK_ERROR_CODES[input.code].retryable;
|
|
23
|
+
}
|
|
24
|
+
}
|
|
25
|
+
export const ORCHESTRATOR_ACK_MESSAGES = {
|
|
26
|
+
notOwner: "Only the current orchestrator can acknowledge notifications",
|
|
27
|
+
invalidated: "orchestrator event is no longer pending (invalidated)",
|
|
28
|
+
outOfOrder: "Only the next pending orchestrator event can be acknowledged",
|
|
29
|
+
};
|
|
30
|
+
//# sourceMappingURL=errors.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"errors.js","sourceRoot":"","sources":["../../../src/observability/errors.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,4BAA4B,GAAG;IAC1C,sBAAsB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IAC5C,8BAA8B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACpD,yBAAyB,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IAC/C,gCAAgC,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACtD,+BAA+B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACrD,+BAA+B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACrD,2BAA2B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IACjD,4BAA4B,EAAE,EAAE,SAAS,EAAE,KAAK,EAAE;IAClD,iBAAiB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACtC,4BAA4B,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IACjD,wBAAwB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;IAC7C,wBAAwB,EAAE,EAAE,SAAS,EAAE,IAAI,EAAE;CACrC,CAAC;AAIX,MAAM,OAAO,oBAAqB,SAAQ,KAAK;IACpC,IAAI,CAA2B;IAC/B,SAAS,CAAU;IAE5B,YAAY,KAA0D;QACpE,KAAK,CAAC,KAAK,CAAC,OAAO,CAAC,CAAC;QACrB,IAAI,CAAC,IAAI,GAAG,sBAAsB,CAAC;QACnC,IAAI,CAAC,IAAI,GAAG,KAAK,CAAC,IAAI,CAAC;QACvB,IAAI,CAAC,SAAS,GAAG,4BAA4B,CAAC,KAAK,CAAC,IAAI,CAAC,CAAC,SAAS,CAAC;IACtE,CAAC;CACF;AAED,MAAM,CAAC,MAAM,yBAAyB,GAAG;IACvC,QAAQ,EAAE,6DAA6D;IACvE,WAAW,EAAE,uDAAuD;IACpE,UAAU,EAAE,8DAA8D;CAClE,CAAC"}
|
|
@@ -46,4 +46,11 @@ export declare const agentOrchestratorGetInputSchema: import("@sinclair/typebox"
|
|
|
46
46
|
export declare const agentOrchestratorAckInputSchema: import("@sinclair/typebox").TObject<{
|
|
47
47
|
eventId: import("@sinclair/typebox").TInteger;
|
|
48
48
|
}>;
|
|
49
|
+
export declare const agentTurnCompletedInputSchema: import("@sinclair/typebox").TObject<{
|
|
50
|
+
confirmed: import("@sinclair/typebox").TBoolean;
|
|
51
|
+
herdrSessionName: import("@sinclair/typebox").TString;
|
|
52
|
+
paneId: import("@sinclair/typebox").TString;
|
|
53
|
+
terminalId: import("@sinclair/typebox").TString;
|
|
54
|
+
workspaceId: import("@sinclair/typebox").TString;
|
|
55
|
+
}>;
|
|
49
56
|
//# sourceMappingURL=schemas.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/observability/schemas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;;;EAQjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;EAOhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;EAO/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;EAQhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;EAQlC,CAAC;AAYF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;EAUhD,CAAC;AAEF,eAAO,MAAM,+BAA+B;;EAG3C,CAAC;AAEF,eAAO,MAAM,+BAA+B,yCAAmD,CAAC;AAEhG,eAAO,MAAM,+BAA+B;;EAG3C,CAAC"}
|
|
1
|
+
{"version":3,"file":"schemas.d.ts","sourceRoot":"","sources":["../../../src/observability/schemas.ts"],"names":[],"mappings":"AAEA,eAAO,MAAM,qBAAqB;;;;;EAQjC,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;EAOhC,CAAC;AAEF,eAAO,MAAM,mBAAmB;;;;EAO/B,CAAC;AAEF,eAAO,MAAM,oBAAoB;;;;;EAQhC,CAAC;AAEF,eAAO,MAAM,sBAAsB;;;;;EAQlC,CAAC;AAYF,eAAO,MAAM,oCAAoC;;;;;;;;;;;;EAUhD,CAAC;AAEF,eAAO,MAAM,+BAA+B;;EAG3C,CAAC;AAEF,eAAO,MAAM,+BAA+B,yCAAmD,CAAC;AAEhG,eAAO,MAAM,+BAA+B;;EAG3C,CAAC;AAEF,eAAO,MAAM,6BAA6B;;;;;;EASzC,CAAC"}
|
|
@@ -44,4 +44,11 @@ export const agentOrchestratorRegisterInputSchema = Type.Object({
|
|
|
44
44
|
export const agentOrchestratorSetInputSchema = Type.Object({ enabled: Type.Boolean() }, { additionalProperties: false });
|
|
45
45
|
export const agentOrchestratorGetInputSchema = Type.Object({}, { additionalProperties: false });
|
|
46
46
|
export const agentOrchestratorAckInputSchema = Type.Object({ eventId: Type.Integer({ minimum: 1 }) }, { additionalProperties: false });
|
|
47
|
+
export const agentTurnCompletedInputSchema = Type.Object({
|
|
48
|
+
confirmed: Type.Boolean(),
|
|
49
|
+
herdrSessionName: Type.String({ minLength: 1 }),
|
|
50
|
+
paneId: Type.String({ minLength: 1 }),
|
|
51
|
+
terminalId: Type.String({ minLength: 1 }),
|
|
52
|
+
workspaceId: Type.String({ minLength: 1 }),
|
|
53
|
+
}, { additionalProperties: false });
|
|
47
54
|
//# sourceMappingURL=schemas.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/observability/schemas.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"schemas.js","sourceRoot":"","sources":["../../../src/observability/schemas.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,45 @@
|
|
|
1
|
+
export declare const TURN_SIGNAL_WAIT_MS = 3000;
|
|
2
|
+
export declare const TURN_SIGNAL_RETENTION_MS: number;
|
|
3
|
+
export type TurnCompletionSignal = {
|
|
4
|
+
confirmed: boolean;
|
|
5
|
+
herdrSessionName: string;
|
|
6
|
+
paneId: string;
|
|
7
|
+
terminalId: string;
|
|
8
|
+
workspaceId: string;
|
|
9
|
+
recordedAtMs: number;
|
|
10
|
+
};
|
|
11
|
+
export type TurnCompletionWaitResult = {
|
|
12
|
+
confirmed: boolean;
|
|
13
|
+
received: boolean;
|
|
14
|
+
};
|
|
15
|
+
type TimerHandle = ReturnType<typeof setTimeout>;
|
|
16
|
+
/**
|
|
17
|
+
* Cross-boundary store for Pi turn-completion notifications. The extension
|
|
18
|
+
* records a signal through the observability RPC server once its final
|
|
19
|
+
* assistant message is on disk; the agent index service waits (bounded) for
|
|
20
|
+
* that signal before emitting `agent.done` / `agent.blocked` events for a Pi
|
|
21
|
+
* agent, so the event captures a non-empty `lastAssistantMessage`.
|
|
22
|
+
*
|
|
23
|
+
* Signals are keyed by herdr session + terminal and retained for a bounded
|
|
24
|
+
* window; a waiter resolves immediately when a signal already exists for the
|
|
25
|
+
* terminal and otherwise resolves when a new signal arrives or the timeout
|
|
26
|
+
* elapses. Old extension versions never record a signal, so waiters always
|
|
27
|
+
* resolve through the timeout and the daemon keeps generating events as today.
|
|
28
|
+
*/
|
|
29
|
+
export declare class TurnCompletionRegistry {
|
|
30
|
+
#private;
|
|
31
|
+
constructor(options?: {
|
|
32
|
+
clearTimeout?: (handle: TimerHandle) => void;
|
|
33
|
+
now?: () => number;
|
|
34
|
+
setTimeout?: (callback: () => void, delay: number) => TimerHandle;
|
|
35
|
+
timeoutMs?: number;
|
|
36
|
+
});
|
|
37
|
+
record(signal: Omit<TurnCompletionSignal, "recordedAtMs">): void;
|
|
38
|
+
waitForSignal(input: {
|
|
39
|
+
herdrSessionName: string;
|
|
40
|
+
terminalId: string;
|
|
41
|
+
recordedAfterMs: number;
|
|
42
|
+
}): Promise<TurnCompletionWaitResult>;
|
|
43
|
+
}
|
|
44
|
+
export {};
|
|
45
|
+
//# sourceMappingURL=turn-completion.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-completion.d.ts","sourceRoot":"","sources":["../../../src/observability/turn-completion.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,mBAAmB,OAAQ,CAAC;AACzC,eAAO,MAAM,wBAAwB,QAAc,CAAC;AAEpD,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,EAAE,OAAO,CAAC;IACnB,gBAAgB,EAAE,MAAM,CAAC;IACzB,MAAM,EAAE,MAAM,CAAC;IACf,UAAU,EAAE,MAAM,CAAC;IACnB,WAAW,EAAE,MAAM,CAAC;IACpB,YAAY,EAAE,MAAM,CAAC;CACtB,CAAC;AAEF,MAAM,MAAM,wBAAwB,GAAG;IACrC,SAAS,EAAE,OAAO,CAAC;IACnB,QAAQ,EAAE,OAAO,CAAC;CACnB,CAAC;AAEF,KAAK,WAAW,GAAG,UAAU,CAAC,OAAO,UAAU,CAAC,CAAC;AAEjD;;;;;;;;;;;;GAYG;AACH,qBAAa,sBAAsB;;gBAS/B,OAAO,GAAE;QACP,YAAY,CAAC,EAAE,CAAC,MAAM,EAAE,WAAW,KAAK,IAAI,CAAC;QAC7C,GAAG,CAAC,EAAE,MAAM,MAAM,CAAC;QACnB,UAAU,CAAC,EAAE,CAAC,QAAQ,EAAE,MAAM,IAAI,EAAE,KAAK,EAAE,MAAM,KAAK,WAAW,CAAC;QAClE,SAAS,CAAC,EAAE,MAAM,CAAC;KACf;IAQR,MAAM,CAAC,MAAM,EAAE,IAAI,CAAC,oBAAoB,EAAE,cAAc,CAAC,GAAG,IAAI;IAU1D,aAAa,CAAC,KAAK,EAAE;QACzB,gBAAgB,EAAE,MAAM,CAAC;QACzB,UAAU,EAAE,MAAM,CAAC;QACnB,eAAe,EAAE,MAAM,CAAC;KACzB,GAAG,OAAO,CAAC,wBAAwB,CAAC;CA2CtC"}
|
|
@@ -0,0 +1,85 @@
|
|
|
1
|
+
export const TURN_SIGNAL_WAIT_MS = 3_000;
|
|
2
|
+
export const TURN_SIGNAL_RETENTION_MS = 10 * 60_000;
|
|
3
|
+
/**
|
|
4
|
+
* Cross-boundary store for Pi turn-completion notifications. The extension
|
|
5
|
+
* records a signal through the observability RPC server once its final
|
|
6
|
+
* assistant message is on disk; the agent index service waits (bounded) for
|
|
7
|
+
* that signal before emitting `agent.done` / `agent.blocked` events for a Pi
|
|
8
|
+
* agent, so the event captures a non-empty `lastAssistantMessage`.
|
|
9
|
+
*
|
|
10
|
+
* Signals are keyed by herdr session + terminal and retained for a bounded
|
|
11
|
+
* window; a waiter resolves immediately when a signal already exists for the
|
|
12
|
+
* terminal and otherwise resolves when a new signal arrives or the timeout
|
|
13
|
+
* elapses. Old extension versions never record a signal, so waiters always
|
|
14
|
+
* resolve through the timeout and the daemon keeps generating events as today.
|
|
15
|
+
*/
|
|
16
|
+
export class TurnCompletionRegistry {
|
|
17
|
+
#clearTimeout;
|
|
18
|
+
#latestByTerminal = new Map();
|
|
19
|
+
#now;
|
|
20
|
+
#setTimeout;
|
|
21
|
+
#timeoutMs;
|
|
22
|
+
#waitersByTerminal = new Map();
|
|
23
|
+
constructor(options = {}) {
|
|
24
|
+
this.#clearTimeout = options.clearTimeout ?? clearTimeout;
|
|
25
|
+
this.#now = options.now ?? Date.now;
|
|
26
|
+
this.#setTimeout = options.setTimeout ?? setTimeout;
|
|
27
|
+
this.#timeoutMs = options.timeoutMs ?? TURN_SIGNAL_WAIT_MS;
|
|
28
|
+
}
|
|
29
|
+
record(signal) {
|
|
30
|
+
const key = terminalTurnKey(signal);
|
|
31
|
+
this.#latestByTerminal.set(key, { ...signal, recordedAtMs: this.#now() });
|
|
32
|
+
this.#prune();
|
|
33
|
+
const waiters = this.#waitersByTerminal.get(key);
|
|
34
|
+
if (waiters) {
|
|
35
|
+
for (const resolve of [...waiters])
|
|
36
|
+
resolve();
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
async waitForSignal(input) {
|
|
40
|
+
const key = terminalTurnKey(input);
|
|
41
|
+
const isNewSignal = (signal) => signal !== undefined && signal.recordedAtMs >= input.recordedAfterMs;
|
|
42
|
+
const existing = this.#latestByTerminal.get(key);
|
|
43
|
+
if (isNewSignal(existing)) {
|
|
44
|
+
this.#latestByTerminal.delete(key);
|
|
45
|
+
return { confirmed: existing.confirmed, received: true };
|
|
46
|
+
}
|
|
47
|
+
return new Promise((resolve) => {
|
|
48
|
+
let timer;
|
|
49
|
+
const finish = (timedOut = false) => {
|
|
50
|
+
const latest = this.#latestByTerminal.get(key);
|
|
51
|
+
if (!timedOut && !isNewSignal(latest))
|
|
52
|
+
return;
|
|
53
|
+
if (timer !== undefined)
|
|
54
|
+
this.#clearTimeout(timer);
|
|
55
|
+
this.#waitersByTerminal.get(key)?.delete(finish);
|
|
56
|
+
const received = latest && isNewSignal(latest);
|
|
57
|
+
if (received)
|
|
58
|
+
this.#latestByTerminal.delete(key);
|
|
59
|
+
resolve(received
|
|
60
|
+
? { confirmed: latest.confirmed, received: true }
|
|
61
|
+
: { confirmed: false, received: false });
|
|
62
|
+
};
|
|
63
|
+
let waiters = this.#waitersByTerminal.get(key);
|
|
64
|
+
if (!waiters) {
|
|
65
|
+
waiters = new Set();
|
|
66
|
+
this.#waitersByTerminal.set(key, waiters);
|
|
67
|
+
}
|
|
68
|
+
waiters.add(finish);
|
|
69
|
+
timer = this.#setTimeout(() => finish(true), this.#timeoutMs);
|
|
70
|
+
});
|
|
71
|
+
}
|
|
72
|
+
#prune() {
|
|
73
|
+
if (this.#latestByTerminal.size <= 1)
|
|
74
|
+
return;
|
|
75
|
+
const cutoff = this.#now() - TURN_SIGNAL_RETENTION_MS;
|
|
76
|
+
for (const [key, signal] of this.#latestByTerminal) {
|
|
77
|
+
if (signal.recordedAtMs < cutoff)
|
|
78
|
+
this.#latestByTerminal.delete(key);
|
|
79
|
+
}
|
|
80
|
+
}
|
|
81
|
+
}
|
|
82
|
+
function terminalTurnKey(input) {
|
|
83
|
+
return `${input.herdrSessionName}\0${input.terminalId}`;
|
|
84
|
+
}
|
|
85
|
+
//# sourceMappingURL=turn-completion.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"turn-completion.js","sourceRoot":"","sources":["../../../src/observability/turn-completion.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
ALTER TABLE `agents` ADD `grok_home` text;
|
|
@@ -0,0 +1,10 @@
|
|
|
1
|
+
ALTER TABLE `agent_events` ADD `status` text DEFAULT 'pending' NOT NULL;--> statement-breakpoint
|
|
2
|
+
ALTER TABLE `agent_events` ADD `delivery_attempts` integer DEFAULT 0 NOT NULL;--> statement-breakpoint
|
|
3
|
+
ALTER TABLE `agent_events` ADD `last_attempt_at` integer;--> statement-breakpoint
|
|
4
|
+
ALTER TABLE `agent_events` ADD `next_attempt_at` integer;--> statement-breakpoint
|
|
5
|
+
ALTER TABLE `agent_events` ADD `last_failure_code` text;--> statement-breakpoint
|
|
6
|
+
ALTER TABLE `agent_events` ADD `invalidated_reason` text;--> statement-breakpoint
|
|
7
|
+
ALTER TABLE `agent_events` ADD `delivered_to_terminal_id` text;--> statement-breakpoint
|
|
8
|
+
UPDATE `agent_events` SET `status` = CASE WHEN `deliverable` = 1 THEN 'pending' ELSE 'invalidated' END, `invalidated_reason` = CASE WHEN `deliverable` = 1 THEN NULL ELSE 'LEGACY_DELIVERABLE_FALSE' END;--> statement-breakpoint
|
|
9
|
+
CREATE INDEX `agent_events_delivery_scope_idx` ON `agent_events` (`herdr_session_name`,`workspace_id`,`status`,`id`);--> statement-breakpoint
|
|
10
|
+
CREATE INDEX `agent_events_delivery_retry_idx` ON `agent_events` (`status`,`next_attempt_at`);--> statement-breakpoint
|