@cat-factory/kernel 0.221.1 → 0.222.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/dist/ports/auth-attempt-repositories.d.ts +27 -0
- package/dist/ports/auth-attempt-repositories.d.ts.map +1 -0
- package/dist/ports/auth-attempt-repositories.js +9 -0
- package/dist/ports/auth-attempt-repositories.js.map +1 -0
- package/dist/ports/index.d.ts +4 -2
- package/dist/ports/index.d.ts.map +1 -1
- package/dist/ports/index.js +1 -1
- package/dist/ports/index.js.map +1 -1
- package/dist/ports/issue-writeback.d.ts +2 -2
- package/dist/ports/llm-trace-sink.d.ts +77 -0
- package/dist/ports/llm-trace-sink.d.ts.map +1 -1
- package/dist/ports/llm-trace-sink.js +5 -0
- package/dist/ports/llm-trace-sink.js.map +1 -1
- package/dist/ports/machine-node-repositories.d.ts +72 -0
- package/dist/ports/machine-node-repositories.d.ts.map +1 -0
- package/dist/ports/machine-node-repositories.js +8 -0
- package/dist/ports/machine-node-repositories.js.map +1 -0
- package/dist/ports/operational-metrics.d.ts +12 -1
- package/dist/ports/operational-metrics.d.ts.map +1 -1
- package/dist/ports/operational-metrics.js.map +1 -1
- package/dist/ports/task-source.d.ts +6 -1
- package/dist/ports/task-source.d.ts.map +1 -1
- package/dist/ports/tracker-webhook.d.ts +21 -10
- package/dist/ports/tracker-webhook.d.ts.map +1 -1
- package/dist/ports/tracker-webhook.js +8 -12
- package/dist/ports/tracker-webhook.js.map +1 -1
- package/package.json +2 -2
|
@@ -0,0 +1,27 @@
|
|
|
1
|
+
/** One recorded password attempt. */
|
|
2
|
+
export interface AuthAttemptRecord {
|
|
3
|
+
/**
|
|
4
|
+
* The throttle bucket, `<ip>:<email>` for the email endpoints and a fixed literal for
|
|
5
|
+
* token-redeem (keying redeem by token value would hand every guess its own bucket).
|
|
6
|
+
*/
|
|
7
|
+
key: string;
|
|
8
|
+
/** The resolved client IP, counted separately as the cross-email stuffing aggregate. */
|
|
9
|
+
ip: string;
|
|
10
|
+
/** Epoch ms of the attempt. */
|
|
11
|
+
at: number;
|
|
12
|
+
}
|
|
13
|
+
export interface AuthAttemptRepository {
|
|
14
|
+
/** Append one attempt. */
|
|
15
|
+
record(attempt: AuthAttemptRecord): Promise<void>;
|
|
16
|
+
/** Attempts recorded for `key` at/after `sinceMs`. */
|
|
17
|
+
countByKeySince(key: string, sinceMs: number): Promise<number>;
|
|
18
|
+
/**
|
|
19
|
+
* Attempts recorded from `ip` at/after `sinceMs`, across every key: the aggregate
|
|
20
|
+
* that stops one-password-many-emails credential stuffing, which the per-email key
|
|
21
|
+
* alone cannot (each email gets a fresh bucket).
|
|
22
|
+
*/
|
|
23
|
+
countByIpSince(ip: string, sinceMs: number): Promise<number>;
|
|
24
|
+
/** Retention: delete attempts recorded before `epochMs`; returns the count removed. */
|
|
25
|
+
deleteOlderThan(epochMs: number): Promise<number>;
|
|
26
|
+
}
|
|
27
|
+
//# sourceMappingURL=auth-attempt-repositories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-attempt-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/auth-attempt-repositories.ts"],"names":[],"mappings":"AAQA,qCAAqC;AACrC,MAAM,WAAW,iBAAiB;IAChC;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAA;IACX,wFAAwF;IACxF,EAAE,EAAE,MAAM,CAAA;IACV,+BAA+B;IAC/B,EAAE,EAAE,MAAM,CAAA;CACX;AAED,MAAM,WAAW,qBAAqB;IACpC,0BAA0B;IAC1B,MAAM,CAAC,OAAO,EAAE,iBAAiB,GAAG,OAAO,CAAC,IAAI,CAAC,CAAA;IACjD,sDAAsD;IACtD,eAAe,CAAC,GAAG,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC9D;;;;OAIG;IACH,cAAc,CAAC,EAAE,EAAE,MAAM,EAAE,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;IAC5D,uFAAuF;IACvF,eAAe,CAAC,OAAO,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAClD"}
|
|
@@ -0,0 +1,9 @@
|
|
|
1
|
+
// The durable auth-attempt ledger behind the password-endpoint throttle
|
|
2
|
+
// (SEC-4 / durable-auth-rate-limiting.md). The in-process Map it replaces was per
|
|
3
|
+
// isolate/replica, so the effective cap was `MAX_ATTEMPTS x nodes` and a rolling deploy
|
|
4
|
+
// reset it; this store is the cross-replica coordination point. Deliberately tiny: one
|
|
5
|
+
// append + two indexed range counts per password attempt (rare and PBKDF2-priced), and
|
|
6
|
+
// rows are junk minutes later, so the retention sweep prunes aggressively. Do NOT extend
|
|
7
|
+
// it to high-frequency routes: a general API rate limiter is a different design.
|
|
8
|
+
export {};
|
|
9
|
+
//# sourceMappingURL=auth-attempt-repositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"auth-attempt-repositories.js","sourceRoot":"","sources":["../../src/ports/auth-attempt-repositories.ts"],"names":[],"mappings":"AAAA,wEAAwE;AACxE,kFAAkF;AAClF,wFAAwF;AACxF,uFAAuF;AACvF,uFAAuF;AACvF,yFAAyF;AACzF,iFAAiF"}
|
package/dist/ports/index.d.ts
CHANGED
|
@@ -28,7 +28,7 @@ export type { PlatformDurationStats, PlatformFailureCount, PlatformLiveCounts, P
|
|
|
28
28
|
export type { ReportActivityGroup, ReportRange, ReportScope, ReportSpendGroup, ReportSpendTrendBucket, ReportsRepository, } from './reports.js';
|
|
29
29
|
export type { AgentContextFile, AgentContextFragment, AgentContextIndexQuery, AgentContextRecorder, AgentContextRunPageQuery, AgentContextSnapshot, AgentContextSnapshotIndex, AgentContextSnapshotRepository, RecordAgentContextInput, } from './agent-context.js';
|
|
30
30
|
export type { AgentSearchQuery, AgentSearchQueryPageQuery, AgentSearchQueryRecorder, AgentSearchQueryRepository, RecordAgentSearchQueryInput, } from './agent-search-queries.js';
|
|
31
|
-
export type { LlmGenerationEvent, LlmToolSpan, LlmToolSpanContext, LlmTraceSink, InlineAttribution, InlineAttributionScope, InlineObservabilityContext, TraceSinkObservability, } from './llm-trace-sink.js';
|
|
31
|
+
export type { LlmGenerationEvent, LlmRunSpan, LlmStepSpan, LlmToolSpan, LlmToolSpanContext, LlmTraceSink, InlineAttribution, InlineAttributionScope, InlineObservabilityContext, TraceSinkObservability, } from './llm-trace-sink.js';
|
|
32
32
|
export { INLINE_OBSERVABILITY_NS, CompositeTraceSink, catFactoryObservability, composeTraceSinks, readInlineObservabilityContext, resolveInlineAttribution, } from './llm-trace-sink.js';
|
|
33
33
|
export type { AgentDecisionRequest, AgentExecutor, AgentJobHandle, AgentJobUpdate, AgentRunContext, AgentRunResult, AgentTokenUsage, AsyncAgentExecutor, } from './agent-executor.js';
|
|
34
34
|
export { isAsyncAgentExecutor } from './agent-executor.js';
|
|
@@ -53,7 +53,7 @@ export type { DocumentConnectionRecord, DocumentConnectionRepository, DocumentRe
|
|
|
53
53
|
export type { TaskCredentials, TaskContent, TaskSearchRepoScope, IssueIntakeQuery, BugCandidate, TrackerBoard, NormalizedTaskConnection, TaskSourceProvider, TaskSourceRegistry, } from './task-source.js';
|
|
54
54
|
export type { BugHuntAssessor, BugHuntSubject } from './bug-hunt.js';
|
|
55
55
|
export type { TaskSourceWebhookAdapter, TrackerCommentAuthor, TrackerCommentEvent, TrackerIssueEvent, TrackerWebhookDelivery, TrackerWebhookEvent, } from './tracker-webhook.js';
|
|
56
|
-
export { TRACKER_WEBHOOK_REPLY_ALLOW_KEY, TRACKER_WEBHOOK_SECRET_KEY, isTaskSourceKind, trackerWebhookSecret, } from './tracker-webhook.js';
|
|
56
|
+
export { BUILTIN_TASK_SOURCE_KINDS, TRACKER_WEBHOOK_REPLY_ALLOW_KEY, TRACKER_WEBHOOK_SECRET_KEY, isTaskSourceKind, trackerWebhookSecret, } from './tracker-webhook.js';
|
|
57
57
|
export type { TaskConnectionRecord, TaskConnectionRepository, TaskSourceSettingsRecord, TaskSourceSettingsRepository, TaskRecord, TaskRef, TaskRepository, } from './task-repositories.js';
|
|
58
58
|
export type { FragmentAppliesTo, PromptFragmentRecord, PromptFragmentRepository, FragmentSourceRecord, FragmentSourceRepository, ResolvedCatalogEntry, } from './fragment-repositories.js';
|
|
59
59
|
export type { FragmentBriefRecord, FragmentBriefRepository, FragmentBriefGeneration, FragmentBriefGenerator, FragmentBriefGeneratorInput, } from './fragment-brief.js';
|
|
@@ -90,6 +90,8 @@ export type { ApiKeyScope, ApiKeyProvider, ApiKeyScopeRef, ProviderApiKeyRecord,
|
|
|
90
90
|
export type { PublicApiKeyRecord, PublicApiKeyRepository } from './public-api-key-repositories.js';
|
|
91
91
|
export type { PersonalSubscriptionRecord, PersonalSubscriptionRepository, SubscriptionActivationRecord, SubscriptionActivationRepository, } from './personal-subscription-repositories.js';
|
|
92
92
|
export type { LocalModelEndpointRecord, LocalModelEndpointRepository, } from './local-model-repositories.js';
|
|
93
|
+
export type { MachineNodeMint, MachineNodeMintOutcome, MachineNodeRecord, MachineNodeRepository, } from './machine-node-repositories.js';
|
|
94
|
+
export type { AuthAttemptRecord, AuthAttemptRepository } from './auth-attempt-repositories.js';
|
|
93
95
|
export type { UserSecretRecord, UserSecretRepository, ResolveUserGitHubToken, RunCredentialScope, RunInitiatorScope, } from './user-secret-repositories.js';
|
|
94
96
|
export type { UserRepoAccessRecord, UserRepoAccessRepository, } from './user-repo-access-repositories.js';
|
|
95
97
|
export type { ProviderModelCatalogRecord, ProviderModelCatalogRepository, } from './provider-model-catalog-repositories.js';
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"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"}
|
package/dist/ports/index.js
CHANGED
|
@@ -9,7 +9,7 @@ export { NoopWorkRunner } from './work-runner.js';
|
|
|
9
9
|
export { NoopEventPublisher } from './execution-events.js';
|
|
10
10
|
export { VcsIdentityError } from './vcs-identity.js';
|
|
11
11
|
export { createBinaryArtifactStore } from './binary-artifacts.js';
|
|
12
|
-
export { TRACKER_WEBHOOK_REPLY_ALLOW_KEY, TRACKER_WEBHOOK_SECRET_KEY, isTaskSourceKind, trackerWebhookSecret, } from './tracker-webhook.js';
|
|
12
|
+
export { BUILTIN_TASK_SOURCE_KINDS, TRACKER_WEBHOOK_REPLY_ALLOW_KEY, TRACKER_WEBHOOK_SECRET_KEY, isTaskSourceKind, trackerWebhookSecret, } from './tracker-webhook.js';
|
|
13
13
|
export { readCachedWorkspaceSettings, repoFilesCacheGroup } from './caching.js';
|
|
14
14
|
export { SecretDecryptError, isSecretDecryptError } from './secret-cipher.js';
|
|
15
15
|
export { STRICT_URL_SAFETY_POLICY } from './url-safety-policy.js';
|
package/dist/ports/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AA2C3D,OAAO,EAKL,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EAQL,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AAsBjC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAwBhF,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/ports/index.ts"],"names":[],"mappings":"AAYA,OAAO,EAAE,uBAAuB,EAAE,MAAM,mBAAmB,CAAA;AA2C3D,OAAO,EAKL,qBAAqB,EACrB,UAAU,GACX,MAAM,cAAc,CAAA;AACrB,OAAO,EAQL,iCAAiC,EACjC,sBAAsB,GACvB,MAAM,0BAA0B,CAAA;AAsBjC,OAAO,EAAE,cAAc,EAAE,0BAA0B,EAAE,MAAM,qBAAqB,CAAA;AAwBhF,OAAO,EAAE,0BAA0B,EAAE,iBAAiB,EAAE,MAAM,kBAAkB,CAAA;AA+ChF,OAAO,EACL,uBAAuB,EACvB,kBAAkB,EAClB,uBAAuB,EACvB,iBAAiB,EACjB,8BAA8B,EAC9B,wBAAwB,GACzB,MAAM,qBAAqB,CAAA;AAW5B,OAAO,EAAE,oBAAoB,EAAE,MAAM,qBAAqB,CAAA;AAE1D,OAAO,EAAmB,cAAc,EAAE,MAAM,kBAAkB,CAAA;AAClE,OAAO,EAAgC,kBAAkB,EAAE,MAAM,uBAAuB,CAAA;AAuCxF,OAAO,EAAE,gBAAgB,EAAE,MAAM,mBAAmB,CAAA;AA8BpD,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AA2DjE,OAAO,EACL,yBAAyB,EACzB,+BAA+B,EAC/B,0BAA0B,EAC1B,gBAAgB,EAChB,oBAAoB,GACrB,MAAM,sBAAsB,CAAA;AAsD7B,OAAO,EAAE,2BAA2B,EAAE,mBAAmB,EAAE,MAAM,cAAc,CAAA;AAW/E,OAAO,EAAE,kBAAkB,EAAE,oBAAoB,EAAE,MAAM,oBAAoB,CAAA;AAqC7E,OAAO,EAAwB,wBAAwB,EAAE,MAAM,wBAAwB,CAAA;AAiCvF,OAAO,EAAwB,mBAAmB,EAAE,MAAM,uBAAuB,CAAA;AAWjF,OAAO,EAAE,yBAAyB,EAAE,MAAM,wBAAwB,CAAA;AAOlE,OAAO,EAAE,yBAAyB,EAAE,MAAM,uBAAuB,CAAA;AAiBjE,OAAO,EAAE,wBAAwB,EAAE,MAAM,uBAAuB,CAAA;AAEhE,OAAO,EAAE,sBAAsB,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAA;AAuFvF,OAAO,EAAE,mCAAmC,EAAE,MAAM,0BAA0B,CAAA;AA8D9E,OAAO,EAAE,oBAAoB,EAAE,uBAAuB,EAAE,MAAM,oBAAoB,CAAA;AA6ClF,OAAO,EAAE,iCAAiC,EAAE,MAAM,wCAAwC,CAAA;AAQ1F,OAAO,EAAE,mCAAmC,EAAE,MAAM,0CAA0C,CAAA;AAC9F,OAAO,EAGL,4BAA4B,EAC5B,uBAAuB,GACxB,MAAM,2BAA2B,CAAA"}
|
|
@@ -60,7 +60,7 @@ export interface IssueWritebackProvider {
|
|
|
60
60
|
* the block's linked tracker issue(s) so the reporter sees the ask where they filed the
|
|
61
61
|
* bug. This is an ECHO only: answers to a CLARITY gate still arrive in-app (the clarity
|
|
62
62
|
* window). The tracker-side reply path built in
|
|
63
|
-
* `docs/
|
|
63
|
+
* `backend/docs/adr/0032-tracker-webhook-intake.md` is scoped to the REQUIREMENTS review — its
|
|
64
64
|
* findings carry the stable ids a reply names ({@link postReviewQuestions}); a clarity
|
|
65
65
|
* question has none, so a comment answering one is ignored rather than guessed at.
|
|
66
66
|
* Best-effort like the other hooks (a tracker outage never
|
|
@@ -96,7 +96,7 @@ export interface IssueWritebackProvider {
|
|
|
96
96
|
* findings has no way to learn that the third is still holding the run, and a reply that named
|
|
97
97
|
* an unknown id or landed after the review settled looks identical to one that worked. So the
|
|
98
98
|
* ack always states the disposition — what was applied, what is still outstanding, and what was
|
|
99
|
-
* rejected and why (see D6 of `docs/
|
|
99
|
+
* rejected and why (see D6 of `backend/docs/adr/0032-tracker-webhook-intake.md`).
|
|
100
100
|
*
|
|
101
101
|
* Targeted at ONE issue (`source`/`externalId`) rather than the block's whole linked set: the
|
|
102
102
|
* reply came from a specific thread, and broadcasting the ack to sibling issues would answer
|
|
@@ -63,6 +63,71 @@ export interface LlmToolSpanContext {
|
|
|
63
63
|
executionId: string | null;
|
|
64
64
|
agentKind: string;
|
|
65
65
|
}
|
|
66
|
+
/**
|
|
67
|
+
* A settled run's ROOT span: the ancestor every generation and tool span of that run hangs
|
|
68
|
+
* under. Emitted ONCE, when the run reaches a terminal state, because that is the first
|
|
69
|
+
* moment its boundaries are known — the ordinary OpenTelemetry shape, where a parent always
|
|
70
|
+
* ends (and therefore exports) after its children.
|
|
71
|
+
*/
|
|
72
|
+
export interface LlmRunSpan {
|
|
73
|
+
workspaceId: string | null;
|
|
74
|
+
executionId: string;
|
|
75
|
+
/** The pipeline that ran, used to name the span. */
|
|
76
|
+
pipelineName: string;
|
|
77
|
+
/** Epoch ms the run was created. */
|
|
78
|
+
startedAt: number;
|
|
79
|
+
/** Epoch ms the run settled. */
|
|
80
|
+
endedAt: number;
|
|
81
|
+
/** Whether the run reached `done` rather than `failed`. */
|
|
82
|
+
ok: boolean;
|
|
83
|
+
/** A short failure message when {@link ok} is false, else null. */
|
|
84
|
+
errorMessage: string | null;
|
|
85
|
+
}
|
|
86
|
+
/**
|
|
87
|
+
* One `(run, agent kind)` slice of a settled run: the parent of that kind's generations and
|
|
88
|
+
* tool spans.
|
|
89
|
+
*
|
|
90
|
+
* The grain is the agent KIND rather than the step index, because it is the finest grain a
|
|
91
|
+
* generation can NAME — {@link LlmGenerationEvent} carries `agentKind` and no step ordinal, so
|
|
92
|
+
* a per-step parent would be unaddressable from the very spans meant to hang under it. It is
|
|
93
|
+
* also the grain the rest of the LLM telemetry already buckets by (the prompt-chain key and the
|
|
94
|
+
* `(agentKind, phase)` rollup). A pipeline running two steps of one kind therefore folds into
|
|
95
|
+
* one span, which says so via {@link stepCount} rather than leaving a reader to assume one.
|
|
96
|
+
*/
|
|
97
|
+
export interface LlmStepSpan {
|
|
98
|
+
workspaceId: string | null;
|
|
99
|
+
executionId: string;
|
|
100
|
+
agentKind: string;
|
|
101
|
+
/**
|
|
102
|
+
* The kind whose span this one hangs under, or undefined to hang directly off the run root.
|
|
103
|
+
*
|
|
104
|
+
* Set for a HELPER: a kind a step dispatched that is not the step's own (a gate escalating to
|
|
105
|
+
* `ci-fixer` / `conflict-resolver` / `on-call`, a Tester handing off to the fixer, a two-phase
|
|
106
|
+
* coder's `fork-proposer`). Those run inside a hosting step, and nesting them says so, where a
|
|
107
|
+
* flat sibling would present an escalation as if it were a pipeline step of its own.
|
|
108
|
+
*/
|
|
109
|
+
parentAgentKind?: string;
|
|
110
|
+
/** Epoch ms the earliest folded step started, across ALL of its attempts. */
|
|
111
|
+
startedAt: number;
|
|
112
|
+
/** Epoch ms the latest folded step finished (the run's settle time for one still open). */
|
|
113
|
+
endedAt: number;
|
|
114
|
+
/** How many pipeline steps of this kind folded into the span (≥ 1). */
|
|
115
|
+
stepCount: number;
|
|
116
|
+
/**
|
|
117
|
+
* How many times this kind was DISPATCHED inside the span (≥ 1): a re-run step, a gate's
|
|
118
|
+
* fixer rounds, a Ralph loop's iterations.
|
|
119
|
+
*
|
|
120
|
+
* The span cannot separate those dispatches, because the events that hang under it carry no
|
|
121
|
+
* attempt ordinal to name one by. So the count is stated instead: converging in one round and
|
|
122
|
+
* thrashing through six are the same picture otherwise, and they are the picture an operator
|
|
123
|
+
* is actually looking for.
|
|
124
|
+
*/
|
|
125
|
+
attemptCount: number;
|
|
126
|
+
/** False when any folded step failed. */
|
|
127
|
+
ok: boolean;
|
|
128
|
+
/** A short failure message when {@link ok} is false, else null. */
|
|
129
|
+
errorMessage: string | null;
|
|
130
|
+
}
|
|
66
131
|
export interface LlmTraceSink {
|
|
67
132
|
/** Emit one completed LLM call as a generation under its run's trace. */
|
|
68
133
|
recordGeneration(event: LlmGenerationEvent): Promise<void> | void;
|
|
@@ -71,6 +136,17 @@ export interface LlmTraceSink {
|
|
|
71
136
|
* Optional: a sink that only cares about generations can omit it.
|
|
72
137
|
*/
|
|
73
138
|
recordToolSpans?(context: LlmToolSpanContext, spans: LlmToolSpan[]): Promise<void> | void;
|
|
139
|
+
/**
|
|
140
|
+
* Emit a settled run's root span together with its per-agent-kind step spans: the PARENTS
|
|
141
|
+
* of everything else this run emitted. One method rather than two, because the two are only
|
|
142
|
+
* meaningful together — a step span with no root is as broken as a generation with no step.
|
|
143
|
+
*
|
|
144
|
+
* Optional: only a sink whose ONLY grouping primitive is span parentage needs it. The
|
|
145
|
+
* Langfuse sink deliberately omits it: a Langfuse trace is a first-class object its
|
|
146
|
+
* generations already attach to by id, so synthesising parent observations there would add
|
|
147
|
+
* a second grouping story for no gain.
|
|
148
|
+
*/
|
|
149
|
+
recordRunSpans?(run: LlmRunSpan, steps: LlmStepSpan[]): Promise<void> | void;
|
|
74
150
|
/**
|
|
75
151
|
* Flush any buffered telemetry (best-effort). Implemented by sinks that batch before
|
|
76
152
|
* export (e.g. the OpenTelemetry SDK exporter); a fetch-per-call sink that already
|
|
@@ -106,6 +182,7 @@ export declare class CompositeTraceSink implements LlmTraceSink {
|
|
|
106
182
|
private isolate;
|
|
107
183
|
recordGeneration(event: LlmGenerationEvent): Promise<void>;
|
|
108
184
|
recordToolSpans(context: LlmToolSpanContext, spans: LlmToolSpan[]): Promise<void>;
|
|
185
|
+
recordRunSpans(run: LlmRunSpan, steps: LlmStepSpan[]): Promise<void>;
|
|
109
186
|
forceFlush(): Promise<void>;
|
|
110
187
|
shutdown(): Promise<void>;
|
|
111
188
|
}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-trace-sink.d.ts","sourceRoot":"","sources":["../../src/ports/llm-trace-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,KAAK,MAAM,EAAc,MAAM,cAAc,CAAA;AACtD,OAAO,EAAE,KAAK,kBAAkB,EAA0B,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"llm-trace-sink.d.ts","sourceRoot":"","sources":["../../src/ports/llm-trace-sink.ts"],"names":[],"mappings":"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"}
|
|
@@ -48,6 +48,11 @@ export class CompositeTraceSink {
|
|
|
48
48
|
await sink.recordToolSpans?.(context, spans);
|
|
49
49
|
})));
|
|
50
50
|
}
|
|
51
|
+
async recordRunSpans(run, steps) {
|
|
52
|
+
await Promise.all(this.sinks.map((sink) => this.isolate(sink, 'recordRunSpans', async () => {
|
|
53
|
+
await sink.recordRunSpans?.(run, steps);
|
|
54
|
+
})));
|
|
55
|
+
}
|
|
51
56
|
async forceFlush() {
|
|
52
57
|
await Promise.all(this.sinks.map((sink) => this.isolate(sink, 'forceFlush', async () => {
|
|
53
58
|
await sink.forceFlush?.();
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"llm-trace-sink.js","sourceRoot":"","sources":["../../src/ports/llm-trace-sink.ts"],"names":[],"mappings":"AAAA,OAAO,EAAe,UAAU,EAAE,MAAM,cAAc,CAAA;AACtD,OAAO,EAA2B,sBAAsB,EAAE,MAAM,0BAA0B,CAAA;AAC1F,OAAO,EAAE,aAAa,EAAE,MAAM,0BAA0B,CAAA;
|
|
1
|
+
{"version":3,"file":"llm-trace-sink.js","sourceRoot":"","sources":["../../src/ports/llm-trace-sink.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
/** One minted machine node, with its revocation state. */
|
|
2
|
+
export interface MachineNodeRecord {
|
|
3
|
+
/** The node id signed into every machine token minted for this node (`node_*`). */
|
|
4
|
+
nodeId: string;
|
|
5
|
+
/** The user the node was minted for; the only identity allowed to revoke it. */
|
|
6
|
+
userId: string;
|
|
7
|
+
/** The account scope of the most recent mint. */
|
|
8
|
+
accountIds: string[];
|
|
9
|
+
/** Epoch ms of the first mint. */
|
|
10
|
+
createdAt: number;
|
|
11
|
+
/** Epoch ms of the most recent mint. */
|
|
12
|
+
lastMintedAt: number;
|
|
13
|
+
/**
|
|
14
|
+
* The latest `exp` across this node's mints. Past it no token for the node can verify
|
|
15
|
+
* (the signature check enforces `exp` on its own), so the row is prunable.
|
|
16
|
+
*/
|
|
17
|
+
expiresAt: number;
|
|
18
|
+
/** Epoch ms the node was revoked, or null while live. A tombstone, never cleared. */
|
|
19
|
+
revokedAt: number | null;
|
|
20
|
+
/** Who revoked it (audit); null while live. */
|
|
21
|
+
revokedByUserId: string | null;
|
|
22
|
+
}
|
|
23
|
+
/** A mint event to fold into the roster. */
|
|
24
|
+
export interface MachineNodeMint {
|
|
25
|
+
nodeId: string;
|
|
26
|
+
userId: string;
|
|
27
|
+
accountIds: string[];
|
|
28
|
+
mintedAt: number;
|
|
29
|
+
/** The signed token's `exp`. */
|
|
30
|
+
expiresAt: number;
|
|
31
|
+
}
|
|
32
|
+
/** What `recordMint` did, so the caller can refuse a mint it could not legitimately record. */
|
|
33
|
+
export type MachineNodeMintOutcome =
|
|
34
|
+
/** Inserted, or refreshed a row this user already owns. */
|
|
35
|
+
'recorded'
|
|
36
|
+
/** The node id belongs to another user, or carries a revocation tombstone. */
|
|
37
|
+
| 'refused';
|
|
38
|
+
/**
|
|
39
|
+
* Persistence for the machine-node roster. The revocation read (`isRevoked`) sits on
|
|
40
|
+
* every `/internal/*` machine call, so implementations keep it a single indexed point
|
|
41
|
+
* read.
|
|
42
|
+
*
|
|
43
|
+
* Ownership is enforced by `recordMint` ITSELF, not by a read the caller does first: a
|
|
44
|
+
* check-then-write leaves a window where two mints of one node id both see "unknown" and
|
|
45
|
+
* the loser overwrites the winner's scope, leaving a row whose owner cannot see the live
|
|
46
|
+
* node and whose owner-of-record did not mint it. So the write is conflict-targeted and
|
|
47
|
+
* GUARDED, and reports which of the two happened.
|
|
48
|
+
*/
|
|
49
|
+
export interface MachineNodeRepository {
|
|
50
|
+
/**
|
|
51
|
+
* Fold a mint into the roster: insert, or refresh `lastMintedAt`/`expiresAt`/`accountIds`
|
|
52
|
+
* for a row the SAME user owns and that is not revoked. `userId` and `createdAt` are never
|
|
53
|
+
* changed, and the revocation columns are never cleared, so a losing race cannot take a
|
|
54
|
+
* node over and a revoked id can never be resurrected. Returns `'refused'` when the row
|
|
55
|
+
* exists but fails that guard, which the caller turns into a refusal to hand out the token.
|
|
56
|
+
*/
|
|
57
|
+
recordMint(mint: MachineNodeMint): Promise<MachineNodeMintOutcome>;
|
|
58
|
+
/** The roster row for a node, or null when unknown. */
|
|
59
|
+
get(nodeId: string): Promise<MachineNodeRecord | null>;
|
|
60
|
+
/** Every node minted for a user, newest mint first. */
|
|
61
|
+
listByUser(userId: string): Promise<MachineNodeRecord[]>;
|
|
62
|
+
/**
|
|
63
|
+
* Tombstone a node. Returns false when the node is unknown; revoking an
|
|
64
|
+
* already-revoked node is a no-op that returns true (idempotent kill switch).
|
|
65
|
+
*/
|
|
66
|
+
revoke(nodeId: string, revokedAt: number, revokedByUserId: string): Promise<boolean>;
|
|
67
|
+
/** The per-request gate read: true only for an explicitly revoked node. */
|
|
68
|
+
isRevoked(nodeId: string): Promise<boolean>;
|
|
69
|
+
/** Retention: purge rows whose `expiresAt` is before `before`; returns the count removed. */
|
|
70
|
+
deleteExpired(before: number): Promise<number>;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=machine-node-repositories.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-node-repositories.d.ts","sourceRoot":"","sources":["../../src/ports/machine-node-repositories.ts"],"names":[],"mappings":"AAOA,0DAA0D;AAC1D,MAAM,WAAW,iBAAiB;IAChC,mFAAmF;IACnF,MAAM,EAAE,MAAM,CAAA;IACd,gFAAgF;IAChF,MAAM,EAAE,MAAM,CAAA;IACd,iDAAiD;IACjD,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,kCAAkC;IAClC,SAAS,EAAE,MAAM,CAAA;IACjB,wCAAwC;IACxC,YAAY,EAAE,MAAM,CAAA;IACpB;;;OAGG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,qFAAqF;IACrF,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,+CAA+C;IAC/C,eAAe,EAAE,MAAM,GAAG,IAAI,CAAA;CAC/B;AAED,4CAA4C;AAC5C,MAAM,WAAW,eAAe;IAC9B,MAAM,EAAE,MAAM,CAAA;IACd,MAAM,EAAE,MAAM,CAAA;IACd,UAAU,EAAE,MAAM,EAAE,CAAA;IACpB,QAAQ,EAAE,MAAM,CAAA;IAChB,gCAAgC;IAChC,SAAS,EAAE,MAAM,CAAA;CAClB;AAED,+FAA+F;AAC/F,MAAM,MAAM,sBAAsB;AAChC,2DAA2D;AACzD,UAAU;AACZ,8EAA8E;GAC5E,SAAS,CAAA;AAEb;;;;;;;;;;GAUG;AACH,MAAM,WAAW,qBAAqB;IACpC;;;;;;OAMG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,sBAAsB,CAAC,CAAA;IAClE,uDAAuD;IACvD,GAAG,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,GAAG,IAAI,CAAC,CAAA;IACtD,uDAAuD;IACvD,UAAU,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,iBAAiB,EAAE,CAAC,CAAA;IACxD;;;OAGG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,EAAE,eAAe,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IACpF,2EAA2E;IAC3E,SAAS,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC3C,6FAA6F;IAC7F,aAAa,CAAC,MAAM,EAAE,MAAM,GAAG,OAAO,CAAC,MAAM,CAAC,CAAA;CAC/C"}
|
|
@@ -0,0 +1,8 @@
|
|
|
1
|
+
// The machine-node roster: one row per `nodeId` a mothership has minted a machine token
|
|
2
|
+
// for, with a revocation tombstone (SEC-5 / security-hardening item 8). The roster exists
|
|
3
|
+
// because revocation needs OWNERSHIP: without a server-side record of who a node was
|
|
4
|
+
// minted for, a revoke endpoint either trusts a caller-supplied nodeId (any user could
|
|
5
|
+
// kill any other tenant's satellite) or cannot exist. Recording the mint is what makes
|
|
6
|
+
// "revoke MY node" checkable.
|
|
7
|
+
export {};
|
|
8
|
+
//# sourceMappingURL=machine-node-repositories.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"machine-node-repositories.js","sourceRoot":"","sources":["../../src/ports/machine-node-repositories.ts"],"names":[],"mappings":"AAAA,wFAAwF;AACxF,0FAA0F;AAC1F,qFAAqF;AACrF,uFAAuF;AACvF,uFAAuF;AACvF,8BAA8B"}
|
|
@@ -23,7 +23,18 @@ export type OperationalCounter =
|
|
|
23
23
|
/** An app-cache read served from memory. Dimensioned by cache name. */
|
|
24
24
|
| 'cache.hit'
|
|
25
25
|
/** An app-cache read that had to run its loader. Dimensioned by cache name. */
|
|
26
|
-
| 'cache.miss'
|
|
26
|
+
| 'cache.miss'
|
|
27
|
+
/**
|
|
28
|
+
* A password-endpoint attempt was refused by the throttle (SEC-4). The log line names the
|
|
29
|
+
* bucket; only this answers whether refusals are climbing, which is the difference between
|
|
30
|
+
* one forgetful user and a credential-stuffing sweep.
|
|
31
|
+
*/
|
|
32
|
+
| 'auth.throttle.limited'
|
|
33
|
+
/**
|
|
34
|
+
* The durable attempt ledger was unreachable, so the throttle fell back to its per-process
|
|
35
|
+
* window. Silent otherwise, and it degrades every replica's view of an attack at once.
|
|
36
|
+
*/
|
|
37
|
+
| 'auth.throttle.store_unavailable';
|
|
27
38
|
/** The closed set of operational gauges — point-in-time readings, never accumulated. */
|
|
28
39
|
export type OperationalGauge =
|
|
29
40
|
/** Jobs waiting in a durable queue right now. Dimensioned by `queue`. */
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY,CAAA;
|
|
1
|
+
{"version":3,"file":"operational-metrics.d.ts","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAoBA;;;;GAIG;AACH,MAAM,MAAM,kBAAkB;AAC5B,mFAAmF;AACjF,oBAAoB;AACtB,0FAA0F;GACxF,qBAAqB;AACvB,sFAAsF;GACpF,mBAAmB;AACrB,yFAAyF;GACvF,cAAc;AAChB,wFAAwF;GACtF,2BAA2B;AAC7B,oFAAoF;GAClF,mBAAmB;AACrB,0EAA0E;GACxE,0BAA0B;AAC5B,kEAAkE;GAChE,8BAA8B;AAChC,uEAAuE;GACrE,WAAW;AACb,+EAA+E;GAC7E,YAAY;AACd;;;;GAIG;GACD,uBAAuB;AACzB;;;GAGG;GACD,iCAAiC,CAAA;AAUrC,wFAAwF;AACxF,MAAM,MAAM,gBAAgB;AAC1B,yEAAyE;AACzE,aAAa,CAAA;AAEf;;;;;;GAMG;AACH,MAAM,MAAM,qBAAqB,GAAG,QAAQ,CAAC,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAC,CAAA;AAEpE,sDAAsD;AACtD,MAAM,WAAW,wBAAwB;IACvC,OAAO,EAAE,kBAAkB,CAAA;IAC3B,UAAU,EAAE,qBAAqB,CAAA;IACjC,+FAA+F;IAC/F,KAAK,EAAE,MAAM,CAAA;CACd;AAED,uCAAuC;AACvC,MAAM,WAAW,sBAAsB;IACrC,KAAK,EAAE,gBAAgB,CAAA;IACvB,UAAU,EAAE,qBAAqB,CAAA;IACjC,KAAK,EAAE,MAAM,CAAA;CACd;AAED;;;GAGG;AACH,MAAM,WAAW,kBAAkB;IACjC;;;OAGG;IACH,SAAS,CAAC,OAAO,EAAE,kBAAkB,EAAE,UAAU,CAAC,EAAE,qBAAqB,EAAE,KAAK,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;CACjG;AAED;;;;;GAKG;AACH,MAAM,WAAW,2BAA4B,SAAQ,kBAAkB;IACrE;;;;;OAKG;IACH,KAAK,IAAI,wBAAwB,EAAE,CAAA;CACpC;AAED,2FAA2F;AAC3F,eAAO,MAAM,sBAAsB,EAAE,kBAA4C,CAAA;AAYjF;;;;;GAKG;AACH,wBAAgB,iCAAiC,IAAI,2BAA2B,CA8B/E"}
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;
|
|
1
|
+
{"version":3,"file":"operational-metrics.js","sourceRoot":"","sources":["../../src/ports/operational-metrics.ts"],"names":[],"mappings":"AAAA,4FAA4F;AAC5F,0CAA0C;AAC1C,EAAE;AACF,sFAAsF;AACtF,yFAAyF;AACzF,0FAA0F;AAC1F,4FAA4F;AAC5F,2FAA2F;AAC3F,6CAA6C;AAC7C,EAAE;AACF,8DAA8D;AAC9D,yFAAyF;AACzF,4FAA4F;AAC5F,iDAAiD;AACjD,yFAAyF;AACzF,qEAAqE;AACrE,EAAE;AACF,6FAA6F;AAC7F,mFAAmF;AAyGnF,2FAA2F;AAC3F,MAAM,CAAC,MAAM,sBAAsB,GAAuB,EAAE,SAAS,EAAE,GAAG,EAAE,GAAE,CAAC,EAAE,CAAA;AAEjF;;;;GAIG;AACH,SAAS,YAAY,CAAC,UAAiC;IACrD,MAAM,IAAI,GAAG,MAAM,CAAC,IAAI,CAAC,UAAU,CAAC,CAAC,IAAI,EAAE,CAAA;IAC3C,OAAO,IAAI,CAAC,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,GAAG,CAAC,IAAI,UAAU,CAAC,CAAC,CAAC,EAAE,CAAC,CAAC,IAAI,CAAC,GAAG,CAAC,CAAA;AAC3D,CAAC;AAED;;;;;GAKG;AACH,MAAM,UAAU,iCAAiC;IAC/C,wFAAwF;IACxF,gDAAgD;IAChD,MAAM,QAAQ,GAAG,IAAI,GAAG,EAGrB,CAAA;IACH,OAAO;QACL,SAAS,CAAC,OAAO,EAAE,UAAU,GAAG,EAAE,EAAE,KAAK,GAAG,CAAC;YAC3C,IAAI,YAAY,GAAG,QAAQ,CAAC,GAAG,CAAC,OAAO,CAAC,CAAA;YACxC,IAAI,CAAC,YAAY,EAAE,CAAC;gBAClB,YAAY,GAAG,IAAI,GAAG,EAAE,CAAA;gBACxB,QAAQ,CAAC,GAAG,CAAC,OAAO,EAAE,YAAY,CAAC,CAAA;YACrC,CAAC;YACD,MAAM,GAAG,GAAG,YAAY,CAAC,UAAU,CAAC,CAAA;YACpC,MAAM,QAAQ,GAAG,YAAY,CAAC,GAAG,CAAC,GAAG,CAAC,CAAA;YACtC,IAAI,QAAQ;gBAAE,QAAQ,CAAC,KAAK,IAAI,KAAK,CAAA;;gBAChC,YAAY,CAAC,GAAG,CAAC,GAAG,EAAE,EAAE,IAAI,EAAE,UAAU,EAAE,KAAK,EAAE,CAAC,CAAA;QACzD,CAAC;QACD,KAAK;YACH,MAAM,OAAO,GAA+B,EAAE,CAAA;YAC9C,KAAK,MAAM,CAAC,OAAO,EAAE,YAAY,CAAC,IAAI,QAAQ,EAAE,CAAC;gBAC/C,KAAK,MAAM,EAAE,IAAI,EAAE,KAAK,EAAE,IAAI,YAAY,CAAC,MAAM,EAAE,EAAE,CAAC;oBACpD,OAAO,CAAC,IAAI,CAAC,EAAE,OAAO,EAAE,UAAU,EAAE,IAAI,EAAE,KAAK,EAAE,CAAC,CAAA;gBACpD,CAAC;YACH,CAAC;YACD,QAAQ,CAAC,KAAK,EAAE,CAAA;YAChB,OAAO,OAAO,CAAA;QAChB,CAAC;KACF,CAAA;AACH,CAAC"}
|
|
@@ -60,11 +60,16 @@ export interface TaskSearchRepoScope {
|
|
|
60
60
|
* {@link BugCandidate} rows the bug hunt's ranking model needs.
|
|
61
61
|
*/
|
|
62
62
|
export interface IssueIntakeQuery {
|
|
63
|
-
/**
|
|
63
|
+
/**
|
|
64
|
+
* The vendor's "board"/project scope; exactly the field for the provider's source is read.
|
|
65
|
+
* `boardId` is the opaque leg a DEPLOYMENT-REGISTERED source reads (see
|
|
66
|
+
* `issueIntakeConfigSchema` for why it is a separate field rather than a reused built-in one).
|
|
67
|
+
*/
|
|
64
68
|
board: {
|
|
65
69
|
jiraProjectKey?: string;
|
|
66
70
|
linearTeamId?: string;
|
|
67
71
|
githubRepo?: string;
|
|
72
|
+
boardId?: string;
|
|
68
73
|
};
|
|
69
74
|
/** Substring that must appear in the issue title. */
|
|
70
75
|
titleFragment?: string;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"task-source.d.ts","sourceRoot":"","sources":["../../src/ports/task-source.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,YAAY,EACZ,cAAc,EACd,oBAAoB,EACpB,oBAAoB,EACpB,WAAW,EACX,kBAAkB,EAClB,gBAAgB,EAChB,YAAY,EACb,MAAM,oBAAoB,CAAA;AAC3B,OAAO,KAAK,EAAE,wBAAwB,EAAE,MAAM,sBAAsB,CAAA;AAepE,qEAAqE;AACrE,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;AAEpD,YAAY,EAAE,WAAW,EAAE,CAAA;AAE3B,8DAA8D;AAC9D,MAAM,WAAW,WAAW;IAC1B,kEAAkE;IAClE,UAAU,EAAE,MAAM,CAAA;IAClB,sCAAsC;IACtC,GAAG,EAAE,MAAM,CAAA;IACX,6BAA6B;IAC7B,KAAK,EAAE,MAAM,CAAA;IACb,gDAAgD;IAChD,MAAM,EAAE,MAAM,CAAA;IACd,mCAAmC;IACnC,IAAI,EAAE,MAAM,CAAA;IACZ,sDAAsD;IACtD,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,wCAAwC;IACxC,QAAQ,EAAE,MAAM,GAAG,IAAI,CAAA;IACvB,oBAAoB;IACpB,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,sDAAsD;IACtD,WAAW,EAAE,MAAM,CAAA;IACnB,sEAAsE;IACtE,QAAQ,EAAE,WAAW,EAAE,CAAA;IAKvB,wFAAwF;IACxF,MAAM,CAAC,EAAE,OAAO,CAAA;IAChB,qEAAqE;IACrE,gBAAgB,CAAC,EAAE,MAAM,GAAG,IAAI,CAAA;IAChC,oFAAoF;IACpF,gBAAgB,CAAC,EAAE,MAAM,EAAE,CAAA;IAC3B,oEAAoE;IACpE,KAAK,CAAC,EAAE,kBAAkB,EAAE,CAAA;CAC7B;AAED;;;;;;;;GAQG;AACH,MAAM,WAAW,mBAAmB;IAClC,KAAK,EAAE,MAAM,CAAA;IACb,IAAI,EAAE,MAAM,CAAA;CACb;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,gBAAgB;IAC/B
|
|
1
|
+
{"version":3,"file":"task-source.d.ts","sourceRoot":"","sources":["../../src/ports/task-source.ts"],"names":[],"mappings":"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"}
|
|
@@ -43,6 +43,19 @@ export interface TrackerIssueEvent {
|
|
|
43
43
|
labels: string[];
|
|
44
44
|
/** Issue type name where the vendor has one (Jira issue type / GitHub issue type); else null. */
|
|
45
45
|
issueType: string | null;
|
|
46
|
+
/**
|
|
47
|
+
* The vendor board this issue sits on, in exactly the shape the matching
|
|
48
|
+
* `IssueIntakeQuery.board` field carries: a Jira project key, an `owner/repo` slug, a Linear
|
|
49
|
+
* team id, or a registered source's opaque board id. So a schedule's configured scope can be
|
|
50
|
+
* compared against it without any per-source knowledge here.
|
|
51
|
+
*
|
|
52
|
+
* `null` means the DELIVERY did not say, never "no board". The distinction is load-bearing:
|
|
53
|
+
* an intake schedule is scoped to one board, so a null is a predicate the event cannot answer
|
|
54
|
+
* rather than one it fails, and the two dispatch modes dispose of that differently (see
|
|
55
|
+
* `intakeMatch.logic.ts`). All three built-in adapters populate it from the payload they
|
|
56
|
+
* already parse, so a null here is a vendor shape we did not recognise.
|
|
57
|
+
*/
|
|
58
|
+
board: string | null;
|
|
46
59
|
/** Canonical web URL, when the payload carries one. */
|
|
47
60
|
url: string | null;
|
|
48
61
|
}
|
|
@@ -99,16 +112,14 @@ export declare const TRACKER_WEBHOOK_REPLY_ALLOW_KEY = "webhookReplyAllow";
|
|
|
99
112
|
/** Read the inbound webhook secret out of a connection's credential bag (`''` when unset). */
|
|
100
113
|
export declare function trackerWebhookSecret(credentials: TaskCredentials | undefined): string;
|
|
101
114
|
/**
|
|
102
|
-
*
|
|
103
|
-
*
|
|
104
|
-
* segment before touching the container.
|
|
115
|
+
* The task-source vocabulary, re-exported from `@cat-factory/contracts` (which owns the schema)
|
|
116
|
+
* rather than re-listed here, because a second copy of a vocabulary is a second thing to forget.
|
|
105
117
|
*
|
|
106
|
-
*
|
|
107
|
-
*
|
|
108
|
-
* `
|
|
109
|
-
*
|
|
118
|
+
* `BUILTIN_TASK_SOURCE_KINDS` is no longer "every source that can exist": a deployment registers
|
|
119
|
+
* its own on the app-owned `TaskSourceRegistry` (D7 of
|
|
120
|
+
* `backend/docs/adr/0032-tracker-webhook-intake.md`), and those never appear in it. Anything
|
|
121
|
+
* deciding what a deployment ACTUALLY serves must ask the registry; the constant answers only "did
|
|
122
|
+
* we ship it", and {@link isTaskSourceKind} answers only "is this a well-formed id".
|
|
110
123
|
*/
|
|
111
|
-
export
|
|
112
|
-
/** Type guard: is `value` one of the known {@link TaskSourceKind}s? */
|
|
113
|
-
export declare function isTaskSourceKind(value: unknown): value is TaskSourceKind;
|
|
124
|
+
export { BUILTIN_TASK_SOURCE_KINDS, isTaskSourceKind } from '@cat-factory/contracts';
|
|
114
125
|
//# sourceMappingURL=tracker-webhook.d.ts.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker-webhook.d.ts","sourceRoot":"","sources":["../../src/ports/tracker-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAgBvD,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAA;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sGAAsG;IACtG,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,qGAAqG;IACrG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAA;CACb;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,cAAc,CAAA;IACtB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAA;IAClB,mFAAmF;IACnF,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,iGAAiG;IACjG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB,uDAAuD;IACvD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,cAAc,CAAA;IACtB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,iEAAiE;AACjE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1E;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI,CAAA;CACpE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,sBAAsB,CAAA;AAElE,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAErF;AAED;;;;;;;;;GASG;AACH,
|
|
1
|
+
{"version":3,"file":"tracker-webhook.d.ts","sourceRoot":"","sources":["../../src/ports/tracker-webhook.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,cAAc,EAAE,MAAM,oBAAoB,CAAA;AACxD,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAA;AAgBvD,kDAAkD;AAClD,MAAM,WAAW,sBAAsB;IACrC;;;;OAIG;IACH,SAAS,EAAE,MAAM,CAAA;IACjB,mFAAmF;IACnF,OAAO,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,CAAA;IAC/B;;;OAGG;IACH,GAAG,EAAE,WAAW,CAAA;CACjB;AAED,mEAAmE;AACnE,MAAM,WAAW,oBAAoB;IACnC,sGAAsG;IACtG,EAAE,EAAE,MAAM,GAAG,IAAI,CAAA;IACjB,qGAAqG;IACrG,MAAM,EAAE,MAAM,GAAG,IAAI,CAAA;IACrB,oFAAoF;IACpF,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB;;;;OAIG;IACH,GAAG,EAAE,OAAO,CAAA;CACb;AAED,sDAAsD;AACtD,MAAM,WAAW,iBAAiB;IAChC,IAAI,EAAE,OAAO,CAAA;IACb,MAAM,EAAE,cAAc,CAAA;IACtB,4FAA4F;IAC5F,UAAU,EAAE,MAAM,CAAA;IAClB,mFAAmF;IACnF,MAAM,EAAE,SAAS,GAAG,SAAS,GAAG,QAAQ,CAAA;IACxC,KAAK,EAAE,MAAM,CAAA;IACb,MAAM,EAAE,MAAM,EAAE,CAAA;IAChB,iGAAiG;IACjG,SAAS,EAAE,MAAM,GAAG,IAAI,CAAA;IACxB;;;;;;;;;;;OAWG;IACH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAA;IACpB,uDAAuD;IACvD,GAAG,EAAE,MAAM,GAAG,IAAI,CAAA;CACnB;AAED,sDAAsD;AACtD,MAAM,WAAW,mBAAmB;IAClC,IAAI,EAAE,SAAS,CAAA;IACf,MAAM,EAAE,cAAc,CAAA;IACtB,mCAAmC;IACnC,UAAU,EAAE,MAAM,CAAA;IAClB,4FAA4F;IAC5F,SAAS,EAAE,MAAM,CAAA;IACjB,yFAAyF;IACzF,IAAI,EAAE,MAAM,CAAA;IACZ,MAAM,EAAE,oBAAoB,CAAA;CAC7B;AAED,iEAAiE;AACjE,MAAM,MAAM,mBAAmB,GAAG,iBAAiB,GAAG,mBAAmB,CAAA;AAEzE;;;GAGG;AACH,MAAM,WAAW,wBAAwB;IACvC;;;;;OAKG;IACH,MAAM,CAAC,MAAM,EAAE,MAAM,EAAE,QAAQ,EAAE,sBAAsB,GAAG,OAAO,CAAC,OAAO,CAAC,CAAA;IAC1E;;;;OAIG;IACH,KAAK,CAAC,QAAQ,EAAE,sBAAsB,GAAG,mBAAmB,GAAG,IAAI,CAAA;CACpE;AAED;;;;;;;;GAQG;AACH,eAAO,MAAM,0BAA0B,kBAAkB,CAAA;AAEzD;;;;;GAKG;AACH,eAAO,MAAM,+BAA+B,sBAAsB,CAAA;AAElE,8FAA8F;AAC9F,wBAAgB,oBAAoB,CAAC,WAAW,EAAE,eAAe,GAAG,SAAS,GAAG,MAAM,CAErF;AAED;;;;;;;;;GASG;AACH,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA"}
|
|
@@ -20,18 +20,14 @@ export function trackerWebhookSecret(credentials) {
|
|
|
20
20
|
return credentials?.[TRACKER_WEBHOOK_SECRET_KEY]?.trim() ?? '';
|
|
21
21
|
}
|
|
22
22
|
/**
|
|
23
|
-
*
|
|
24
|
-
*
|
|
25
|
-
* segment before touching the container.
|
|
23
|
+
* The task-source vocabulary, re-exported from `@cat-factory/contracts` (which owns the schema)
|
|
24
|
+
* rather than re-listed here, because a second copy of a vocabulary is a second thing to forget.
|
|
26
25
|
*
|
|
27
|
-
*
|
|
28
|
-
*
|
|
29
|
-
* `
|
|
30
|
-
*
|
|
26
|
+
* `BUILTIN_TASK_SOURCE_KINDS` is no longer "every source that can exist": a deployment registers
|
|
27
|
+
* its own on the app-owned `TaskSourceRegistry` (D7 of
|
|
28
|
+
* `backend/docs/adr/0032-tracker-webhook-intake.md`), and those never appear in it. Anything
|
|
29
|
+
* deciding what a deployment ACTUALLY serves must ask the registry; the constant answers only "did
|
|
30
|
+
* we ship it", and {@link isTaskSourceKind} answers only "is this a well-formed id".
|
|
31
31
|
*/
|
|
32
|
-
export
|
|
33
|
-
/** Type guard: is `value` one of the known {@link TaskSourceKind}s? */
|
|
34
|
-
export function isTaskSourceKind(value) {
|
|
35
|
-
return typeof value === 'string' && TASK_SOURCE_KINDS.includes(value);
|
|
36
|
-
}
|
|
32
|
+
export { BUILTIN_TASK_SOURCE_KINDS, isTaskSourceKind } from '@cat-factory/contracts';
|
|
37
33
|
//# sourceMappingURL=tracker-webhook.js.map
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"tracker-webhook.js","sourceRoot":"","sources":["../../src/ports/tracker-webhook.ts"],"names":[],"mappings":"
|
|
1
|
+
{"version":3,"file":"tracker-webhook.js","sourceRoot":"","sources":["../../src/ports/tracker-webhook.ts"],"names":[],"mappings":"AAmHA;;;;;;;;GAQG;AACH,MAAM,CAAC,MAAM,0BAA0B,GAAG,eAAe,CAAA;AAEzD;;;;;GAKG;AACH,MAAM,CAAC,MAAM,+BAA+B,GAAG,mBAAmB,CAAA;AAElE,8FAA8F;AAC9F,MAAM,UAAU,oBAAoB,CAAC,WAAwC;IAC3E,OAAO,WAAW,EAAE,CAAC,0BAA0B,CAAC,EAAE,IAAI,EAAE,IAAI,EAAE,CAAA;AAChE,CAAC;AAED;;;;;;;;;GASG;AACH,OAAO,EAAE,yBAAyB,EAAE,gBAAgB,EAAE,MAAM,wBAAwB,CAAA"}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@cat-factory/kernel",
|
|
3
|
-
"version": "0.
|
|
3
|
+
"version": "0.222.0",
|
|
4
4
|
"description": "Shared vocabulary, pure logic, and port interfaces for the Agent Architecture Board.",
|
|
5
5
|
"repository": {
|
|
6
6
|
"type": "git",
|
|
@@ -26,7 +26,7 @@
|
|
|
26
26
|
"dependencies": {
|
|
27
27
|
"ai": "^7.0.47",
|
|
28
28
|
"yaml": "^2.9.0",
|
|
29
|
-
"@cat-factory/contracts": "0.
|
|
29
|
+
"@cat-factory/contracts": "0.220.0"
|
|
30
30
|
},
|
|
31
31
|
"devDependencies": {
|
|
32
32
|
"@vitest/coverage-v8": "^4.1.10",
|