@agent-relay/factory 0.1.56 → 0.1.58
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.md +148 -2
- package/dist/cli/fleet.d.ts +13 -0
- package/dist/cli/fleet.d.ts.map +1 -1
- package/dist/cli/fleet.js +431 -103
- package/dist/cli/fleet.js.map +1 -1
- package/dist/config/schema.d.ts +1107 -348
- package/dist/config/schema.d.ts.map +1 -1
- package/dist/config/schema.js +67 -6
- package/dist/config/schema.js.map +1 -1
- package/dist/cost/index.d.ts +3 -0
- package/dist/cost/index.d.ts.map +1 -0
- package/dist/cost/index.js +3 -0
- package/dist/cost/index.js.map +1 -0
- package/dist/cost/ledger.d.ts +69 -0
- package/dist/cost/ledger.d.ts.map +1 -0
- package/dist/cost/ledger.js +162 -0
- package/dist/cost/ledger.js.map +1 -0
- package/dist/cost/pricing.d.ts +18 -0
- package/dist/cost/pricing.d.ts.map +1 -0
- package/dist/cost/pricing.js +54 -0
- package/dist/cost/pricing.js.map +1 -0
- package/dist/feature-guardian/conversation.d.ts +251 -0
- package/dist/feature-guardian/conversation.d.ts.map +1 -0
- package/dist/feature-guardian/conversation.js +1893 -0
- package/dist/feature-guardian/conversation.js.map +1 -0
- package/dist/feature-guardian/index.d.ts +2 -0
- package/dist/feature-guardian/index.d.ts.map +1 -0
- package/dist/feature-guardian/index.js +2 -0
- package/dist/feature-guardian/index.js.map +1 -0
- package/dist/fleet/internal-fleet-client.d.ts +3 -1
- package/dist/fleet/internal-fleet-client.d.ts.map +1 -1
- package/dist/fleet/internal-fleet-client.js +81 -0
- package/dist/fleet/internal-fleet-client.js.map +1 -1
- package/dist/fleet/relay-fleet-client.d.ts +3 -1
- package/dist/fleet/relay-fleet-client.d.ts.map +1 -1
- package/dist/fleet/relay-fleet-client.js +48 -0
- package/dist/fleet/relay-fleet-client.js.map +1 -1
- package/dist/github/index.d.ts +2 -0
- package/dist/github/index.d.ts.map +1 -1
- package/dist/github/index.js +1 -0
- package/dist/github/index.js.map +1 -1
- package/dist/github/routed-pr-babysitter.d.ts +48 -0
- package/dist/github/routed-pr-babysitter.d.ts.map +1 -0
- package/dist/github/routed-pr-babysitter.js +197 -0
- package/dist/github/routed-pr-babysitter.js.map +1 -0
- package/dist/hosted/index.d.ts +1 -1
- package/dist/hosted/index.d.ts.map +1 -1
- package/dist/hosted/index.js +1 -1
- package/dist/hosted/index.js.map +1 -1
- package/dist/hosted/orchestrator.d.ts +1 -0
- package/dist/hosted/orchestrator.d.ts.map +1 -1
- package/dist/hosted/orchestrator.js +190 -1
- package/dist/hosted/orchestrator.js.map +1 -1
- package/dist/hosted/types.d.ts +4 -0
- package/dist/hosted/types.d.ts.map +1 -1
- package/dist/index.d.ts +8 -4
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +5 -1
- package/dist/index.js.map +1 -1
- package/dist/intake/index.d.ts +4 -0
- package/dist/intake/index.d.ts.map +1 -0
- package/dist/intake/index.js +4 -0
- package/dist/intake/index.js.map +1 -0
- package/dist/intake/notion-relay-claim.d.ts +32 -0
- package/dist/intake/notion-relay-claim.d.ts.map +1 -0
- package/dist/intake/notion-relay-claim.js +173 -0
- package/dist/intake/notion-relay-claim.js.map +1 -0
- package/dist/intake/notion-relay-contract.d.ts +33 -0
- package/dist/intake/notion-relay-contract.d.ts.map +1 -0
- package/dist/intake/notion-relay-contract.js +163 -0
- package/dist/intake/notion-relay-contract.js.map +1 -0
- package/dist/intake/notion.d.ts +375 -0
- package/dist/intake/notion.d.ts.map +1 -0
- package/dist/intake/notion.js +773 -0
- package/dist/intake/notion.js.map +1 -0
- package/dist/mount/github-api-issue-read.d.ts +28 -0
- package/dist/mount/github-api-issue-read.d.ts.map +1 -0
- package/dist/mount/github-api-issue-read.js +163 -0
- package/dist/mount/github-api-issue-read.js.map +1 -0
- package/dist/mount/local-mount-preflight.d.ts +2 -0
- package/dist/mount/local-mount-preflight.d.ts.map +1 -1
- package/dist/mount/local-mount-preflight.js +59 -9
- package/dist/mount/local-mount-preflight.js.map +1 -1
- package/dist/mount/mount-auth-error.d.ts +41 -0
- package/dist/mount/mount-auth-error.d.ts.map +1 -0
- package/dist/mount/mount-auth-error.js +94 -0
- package/dist/mount/mount-auth-error.js.map +1 -0
- package/dist/mount/relayfile-binary.d.ts +5 -0
- package/dist/mount/relayfile-binary.d.ts.map +1 -1
- package/dist/mount/relayfile-binary.js +16 -2
- package/dist/mount/relayfile-binary.js.map +1 -1
- package/dist/mount/relayfile-cloud-mount-client.d.ts +18 -3
- package/dist/mount/relayfile-cloud-mount-client.d.ts.map +1 -1
- package/dist/mount/relayfile-cloud-mount-client.js +157 -13
- package/dist/mount/relayfile-cloud-mount-client.js.map +1 -1
- package/dist/mount/workspace-mirror.d.ts +13 -0
- package/dist/mount/workspace-mirror.d.ts.map +1 -0
- package/dist/mount/workspace-mirror.js +94 -0
- package/dist/mount/workspace-mirror.js.map +1 -0
- package/dist/observability/events.d.ts +715 -47
- package/dist/observability/events.d.ts.map +1 -1
- package/dist/observability/events.js +41 -0
- package/dist/observability/events.js.map +1 -1
- package/dist/orchestrator/factory.d.ts +51 -0
- package/dist/orchestrator/factory.d.ts.map +1 -1
- package/dist/orchestrator/factory.js +574 -50
- package/dist/orchestrator/factory.js.map +1 -1
- package/dist/ports/fleet.d.ts +11 -0
- package/dist/ports/fleet.d.ts.map +1 -1
- package/dist/ports/index.d.ts +2 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/mount.d.ts +58 -1
- package/dist/ports/mount.d.ts.map +1 -1
- package/dist/ports/state.d.ts +42 -5
- package/dist/ports/state.d.ts.map +1 -1
- package/dist/state/file-state-store.d.ts +10 -1
- package/dist/state/file-state-store.d.ts.map +1 -1
- package/dist/state/file-state-store.js +91 -0
- package/dist/state/file-state-store.js.map +1 -1
- package/dist/state/in-memory-state-store.d.ts +10 -1
- package/dist/state/in-memory-state-store.d.ts.map +1 -1
- package/dist/state/in-memory-state-store.js +43 -0
- package/dist/state/in-memory-state-store.js.map +1 -1
- package/dist/telemetry.d.ts +9 -0
- package/dist/telemetry.d.ts.map +1 -0
- package/dist/telemetry.js +8 -0
- package/dist/telemetry.js.map +1 -0
- package/dist/testing/fakes.d.ts +8 -1
- package/dist/testing/fakes.d.ts.map +1 -1
- package/dist/testing/fakes.js +18 -0
- package/dist/testing/fakes.js.map +1 -1
- package/dist/triage/schema.d.ts +175 -42
- package/dist/triage/schema.d.ts.map +1 -1
- package/dist/triage/schema.js +19 -0
- package/dist/triage/schema.js.map +1 -1
- package/dist/types.d.ts +33 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/writeback/github.d.ts.map +1 -1
- package/dist/writeback/github.js +39 -0
- package/dist/writeback/github.js.map +1 -1
- package/package.json +15 -2
|
@@ -0,0 +1,251 @@
|
|
|
1
|
+
import type { RelayfileCredentials, WorkforceCtx, WorkforceEvent } from '@agentworkforce/runtime';
|
|
2
|
+
import { slackClient, type GithubClient } from '@relayfile/relay-helpers';
|
|
3
|
+
export declare const GUARDIAN_CONVERSATION_STATE_PATH = "/memory/workspace/feature-guardian/conversations.json";
|
|
4
|
+
export declare const GUARDIAN_CONFIRMATIONS_PATH = "/memory/workspace/feature-guardian/confirmations";
|
|
5
|
+
export declare const GUARDIAN_REMEDIATIONS_PATH = "/memory/workspace/feature-guardian/remediations";
|
|
6
|
+
export declare const GUARDIAN_STATE_TIMEOUT_MS = 5000;
|
|
7
|
+
export declare const GUARDIAN_WRITEBACK_TIMEOUT_MS = 15000;
|
|
8
|
+
export declare const GUARDIAN_WRITEBACK_POLL_MS = 250;
|
|
9
|
+
export type GuardianConversationStatus = 'asked' | 'discussing' | 'verifying' | 'confirmation-recorded' | 'remediation-recorded' | 'deferred-recorded' | 'confirmed' | 'remediation-open' | 'deferred';
|
|
10
|
+
export type GuardianResponseKind = 'affirmative' | 'failure' | 'untested' | 'ambiguous' | 'deferred';
|
|
11
|
+
export type GuardianDefectKind = 'implementation' | 'test' | 'manifest' | 'procedure' | 'documentation';
|
|
12
|
+
export type GuardianProcedureResultKind = 'passed' | 'failed' | 'skip' | 'manual';
|
|
13
|
+
export interface GuardianFeatureSnapshot {
|
|
14
|
+
id: string;
|
|
15
|
+
name: string;
|
|
16
|
+
category: string;
|
|
17
|
+
cli?: string;
|
|
18
|
+
api?: string;
|
|
19
|
+
description: string;
|
|
20
|
+
locations: string[];
|
|
21
|
+
procedure: string;
|
|
22
|
+
tier: number;
|
|
23
|
+
criticality: string;
|
|
24
|
+
}
|
|
25
|
+
export interface GuardianEvidence {
|
|
26
|
+
source: 'actor' | 'procedure' | 'system';
|
|
27
|
+
result: 'positive' | 'negative' | 'skip' | 'manual' | 'unknown';
|
|
28
|
+
summary: string;
|
|
29
|
+
commands?: string[];
|
|
30
|
+
positiveAssertions?: string[];
|
|
31
|
+
negativeAssertions?: string[];
|
|
32
|
+
tests?: {
|
|
33
|
+
passed: number;
|
|
34
|
+
failed: number;
|
|
35
|
+
};
|
|
36
|
+
cleanup?: string[];
|
|
37
|
+
}
|
|
38
|
+
export interface GuardianProcedureResult extends GuardianEvidence {
|
|
39
|
+
source: 'procedure';
|
|
40
|
+
outcome: GuardianProcedureResultKind;
|
|
41
|
+
verifier: string;
|
|
42
|
+
}
|
|
43
|
+
export interface GuardianQuestion {
|
|
44
|
+
feature: GuardianFeatureSnapshot;
|
|
45
|
+
manifestRevision: string;
|
|
46
|
+
manifestVersion: string;
|
|
47
|
+
procedureRevision: string;
|
|
48
|
+
generation: number;
|
|
49
|
+
channelId: string;
|
|
50
|
+
threadTs: string;
|
|
51
|
+
askedAt: string;
|
|
52
|
+
}
|
|
53
|
+
export interface GuardianPendingTurn {
|
|
54
|
+
eventId: string;
|
|
55
|
+
eventOrder: string;
|
|
56
|
+
eventOccurredAt: string;
|
|
57
|
+
actorId: string;
|
|
58
|
+
response: GuardianResponseKind;
|
|
59
|
+
text: string;
|
|
60
|
+
reaction?: string;
|
|
61
|
+
evidence?: GuardianEvidence;
|
|
62
|
+
verification?: GuardianProcedureResult;
|
|
63
|
+
defectKind?: GuardianDefectKind;
|
|
64
|
+
}
|
|
65
|
+
export interface GuardianIssueReceipt {
|
|
66
|
+
repository: string;
|
|
67
|
+
number: number;
|
|
68
|
+
url: string;
|
|
69
|
+
dedupeKey: string;
|
|
70
|
+
}
|
|
71
|
+
export interface GuardianConfirmationBasis {
|
|
72
|
+
kind: 'actor' | 'procedure';
|
|
73
|
+
verifier: string;
|
|
74
|
+
}
|
|
75
|
+
export interface GuardianConversationRecord extends GuardianQuestion {
|
|
76
|
+
id: string;
|
|
77
|
+
status: GuardianConversationStatus;
|
|
78
|
+
turnCount: number;
|
|
79
|
+
clarificationCount: number;
|
|
80
|
+
seenEventIds: string[];
|
|
81
|
+
evidence: GuardianEvidence[];
|
|
82
|
+
pending?: GuardianPendingTurn;
|
|
83
|
+
confirmationBasis?: GuardianConfirmationBasis;
|
|
84
|
+
confirmationPath?: string;
|
|
85
|
+
issue?: GuardianIssueReceipt;
|
|
86
|
+
finalReplyTs?: string;
|
|
87
|
+
lastProcessedEventOrder?: string;
|
|
88
|
+
updatedAt: string;
|
|
89
|
+
}
|
|
90
|
+
export interface GuardianConversationState {
|
|
91
|
+
kind: 'feature-guardian:conversations';
|
|
92
|
+
version: 1;
|
|
93
|
+
records: GuardianConversationRecord[];
|
|
94
|
+
}
|
|
95
|
+
export interface GuardianConfirmationRecord {
|
|
96
|
+
kind: 'feature-guardian:confirmation';
|
|
97
|
+
version: 1;
|
|
98
|
+
featureId: string;
|
|
99
|
+
manifestRevision: string;
|
|
100
|
+
manifestVersion: string;
|
|
101
|
+
procedureRevision: string;
|
|
102
|
+
generation: number;
|
|
103
|
+
result: 'confirmed';
|
|
104
|
+
actor?: {
|
|
105
|
+
id: string;
|
|
106
|
+
};
|
|
107
|
+
verifier: string;
|
|
108
|
+
timestamp: string;
|
|
109
|
+
evidence: GuardianEvidence[];
|
|
110
|
+
commands: string[];
|
|
111
|
+
tests: {
|
|
112
|
+
passed: number;
|
|
113
|
+
failed: number;
|
|
114
|
+
};
|
|
115
|
+
slack: {
|
|
116
|
+
channelId: string;
|
|
117
|
+
threadTs: string;
|
|
118
|
+
questionTs: string;
|
|
119
|
+
};
|
|
120
|
+
}
|
|
121
|
+
export interface GuardianManifestCatalog {
|
|
122
|
+
manifestRevision: string;
|
|
123
|
+
manifestVersion: string;
|
|
124
|
+
procedureRevision: string;
|
|
125
|
+
features: GuardianFeatureSnapshot[];
|
|
126
|
+
}
|
|
127
|
+
export interface GuardianProcedure {
|
|
128
|
+
name: string;
|
|
129
|
+
path: string;
|
|
130
|
+
prerequisites: string;
|
|
131
|
+
body: string;
|
|
132
|
+
command: string;
|
|
133
|
+
}
|
|
134
|
+
export interface GuardianTierGate {
|
|
135
|
+
outcome: 'available' | 'skip' | 'manual';
|
|
136
|
+
reason: string;
|
|
137
|
+
}
|
|
138
|
+
export interface GuardianIssuePolicy {
|
|
139
|
+
repository: string;
|
|
140
|
+
title: string;
|
|
141
|
+
body: string;
|
|
142
|
+
labels: string[];
|
|
143
|
+
defectKind: GuardianDefectKind;
|
|
144
|
+
dedupeKey: string;
|
|
145
|
+
}
|
|
146
|
+
export interface FeatureGuardianAdapters {
|
|
147
|
+
loadCatalog(ctx: WorkforceCtx): Promise<GuardianManifestCatalog>;
|
|
148
|
+
resolveProcedure(ctx: WorkforceCtx, feature: GuardianFeatureSnapshot): Promise<GuardianProcedure>;
|
|
149
|
+
gateTier(ctx: WorkforceCtx, feature: GuardianFeatureSnapshot, procedure: GuardianProcedure): Promise<GuardianTierGate>;
|
|
150
|
+
runProcedure(ctx: WorkforceCtx, feature: GuardianFeatureSnapshot, procedure: GuardianProcedure, runKey: string): Promise<GuardianProcedureResult>;
|
|
151
|
+
isAuthorizedConfirmer(ctx: WorkforceCtx, actorId: string): boolean;
|
|
152
|
+
clarification(feature: GuardianFeatureSnapshot, procedure: GuardianProcedure, turn: GuardianPendingTurn, turnNumber: number): string;
|
|
153
|
+
classifyDefect(feature: GuardianFeatureSnapshot, turn: GuardianPendingTurn, evidence: readonly GuardianEvidence[]): GuardianDefectKind;
|
|
154
|
+
isDefectEstablished(feature: GuardianFeatureSnapshot, turn: GuardianPendingTurn, evidence: readonly GuardianEvidence[]): boolean;
|
|
155
|
+
repositoryForFeature(feature: GuardianFeatureSnapshot): string;
|
|
156
|
+
issuePolicy(input: {
|
|
157
|
+
feature: GuardianFeatureSnapshot;
|
|
158
|
+
conversation: GuardianConversationRecord;
|
|
159
|
+
defectKind: GuardianDefectKind;
|
|
160
|
+
slackBacklink: string;
|
|
161
|
+
}): GuardianIssuePolicy;
|
|
162
|
+
}
|
|
163
|
+
export interface ConversationSnapshot {
|
|
164
|
+
state: GuardianConversationState;
|
|
165
|
+
revision: string;
|
|
166
|
+
}
|
|
167
|
+
export interface ConversationStore {
|
|
168
|
+
load(): Promise<ConversationSnapshot | null>;
|
|
169
|
+
save(state: GuardianConversationState, expected: ConversationSnapshot | null): Promise<ConversationSnapshot>;
|
|
170
|
+
}
|
|
171
|
+
export interface ImmutableConfirmationStore {
|
|
172
|
+
append(record: GuardianConfirmationRecord): Promise<string>;
|
|
173
|
+
}
|
|
174
|
+
export interface GuardianIssueWriter {
|
|
175
|
+
upsert(policy: GuardianIssuePolicy): Promise<GuardianIssueReceipt>;
|
|
176
|
+
}
|
|
177
|
+
export interface GuardianConversationDependencies {
|
|
178
|
+
conversationStore?: ConversationStore;
|
|
179
|
+
confirmationStore?: ImmutableConfirmationStore;
|
|
180
|
+
issueWriter?: GuardianIssueWriter;
|
|
181
|
+
createSlackClient?: typeof slackClient;
|
|
182
|
+
now?: () => Date;
|
|
183
|
+
}
|
|
184
|
+
export interface DefineFeatureGuardianAgentOptions {
|
|
185
|
+
adapters: FeatureGuardianAdapters;
|
|
186
|
+
scheduled: (ctx: WorkforceCtx, event: WorkforceEvent) => Promise<void> | void;
|
|
187
|
+
channelInput?: string;
|
|
188
|
+
schedules?: ReadonlyArray<{
|
|
189
|
+
name: string;
|
|
190
|
+
cron: string;
|
|
191
|
+
tz?: string;
|
|
192
|
+
}>;
|
|
193
|
+
}
|
|
194
|
+
export declare class GuardianStateConflictError extends Error {
|
|
195
|
+
constructor(message?: string);
|
|
196
|
+
}
|
|
197
|
+
/**
|
|
198
|
+
* Reusable feature-guardian factory. Repository adopters provide their catalog,
|
|
199
|
+
* procedures, gates, prompt, authority, and issue policy; this factory owns the
|
|
200
|
+
* scoped Slack listeners and dispatches every response through the shared state
|
|
201
|
+
* machine.
|
|
202
|
+
*/
|
|
203
|
+
export declare function defineFeatureGuardianAgent(options: DefineFeatureGuardianAgentOptions): import("@agentworkforce/runtime").WorkforceAgentExport;
|
|
204
|
+
type FetchLike = typeof fetch;
|
|
205
|
+
/** A stable content revision suitable for binding a question to exact source text. */
|
|
206
|
+
export declare function guardianContentRevision(content: string): string;
|
|
207
|
+
/** Stable identity for one question in one manifest generation. */
|
|
208
|
+
export declare function guardianConversationId(question: GuardianQuestion): string;
|
|
209
|
+
/** Stable key shared by retries of one threaded response. */
|
|
210
|
+
export declare function guardianReplyIdempotencyKey(record: Pick<GuardianConversationRecord, 'id'>, eventId: string, purpose: string): string;
|
|
211
|
+
/** Immutable confirmation path. The filename is a hash so provider IDs never become paths. */
|
|
212
|
+
export declare function guardianConfirmationPath(record: GuardianConfirmationRecord): string;
|
|
213
|
+
/** Parse checkmark/wrench/question reactions and conversational text without an LLM guess. */
|
|
214
|
+
export declare function classifyGuardianResponse(input: {
|
|
215
|
+
text?: string;
|
|
216
|
+
reaction?: string;
|
|
217
|
+
}): GuardianResponseKind;
|
|
218
|
+
interface ParsedSlackResponse {
|
|
219
|
+
eventId: string;
|
|
220
|
+
eventOrder: string;
|
|
221
|
+
occurredAt: string;
|
|
222
|
+
channelId: string;
|
|
223
|
+
threadTs: string;
|
|
224
|
+
messageTs: string;
|
|
225
|
+
actorId: string;
|
|
226
|
+
text: string;
|
|
227
|
+
reaction?: string;
|
|
228
|
+
isReaction: boolean;
|
|
229
|
+
isBot: boolean;
|
|
230
|
+
}
|
|
231
|
+
/** Expand and fail-closed parse one Slack reply/reaction event. */
|
|
232
|
+
export declare function parseGuardianSlackEvent(event: WorkforceEvent): Promise<ParsedSlackResponse | null>;
|
|
233
|
+
/** Register a provider-confirmed question before the scheduled cycle advances. */
|
|
234
|
+
export declare function registerGuardianQuestion(ctx: WorkforceCtx, question: GuardianQuestion, dependencies?: Pick<GuardianConversationDependencies, 'conversationStore' | 'now'>): Promise<GuardianConversationRecord>;
|
|
235
|
+
/** Own one correlated Slack response through a durable or explicitly deferred outcome. */
|
|
236
|
+
export declare function runGuardianConversationTurn(ctx: WorkforceCtx, event: WorkforceEvent, adapters: FeatureGuardianAdapters, dependencies?: GuardianConversationDependencies): Promise<void>;
|
|
237
|
+
/** Exact-revision store used by the reusable state machine. */
|
|
238
|
+
export declare function createSdkConversationStore(credentials: RelayfileCredentials, options?: {
|
|
239
|
+
fetchImpl?: FetchLike;
|
|
240
|
+
timeoutMs?: number;
|
|
241
|
+
}): ConversationStore;
|
|
242
|
+
/** Exact create-only immutable confirmation store. */
|
|
243
|
+
export declare function createSdkConfirmationStore(credentials: RelayfileCredentials, options?: {
|
|
244
|
+
fetchImpl?: FetchLike;
|
|
245
|
+
timeoutMs?: number;
|
|
246
|
+
}): ImmutableConfirmationStore;
|
|
247
|
+
export declare function createGithubIssueWriter(ctx: WorkforceCtx, client?: GithubClient): GuardianIssueWriter;
|
|
248
|
+
export declare function remediationMarker(dedupeKey: string): string;
|
|
249
|
+
export declare function slackThreadBacklink(channelId: string, threadTs: string): string;
|
|
250
|
+
export {};
|
|
251
|
+
//# sourceMappingURL=conversation.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"conversation.d.ts","sourceRoot":"","sources":["../../src/feature-guardian/conversation.ts"],"names":[],"mappings":"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"}
|