@flowdesk/core 0.1.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/agent-profiles.d.ts +38 -0
- package/dist/agent-profiles.d.ts.map +1 -0
- package/dist/agent-profiles.js +138 -0
- package/dist/agent-profiles.js.map +1 -0
- package/dist/audit.d.ts +11 -0
- package/dist/audit.d.ts.map +1 -0
- package/dist/audit.js +65 -0
- package/dist/audit.js.map +1 -0
- package/dist/bootstrap-foundation.d.ts +83 -0
- package/dist/bootstrap-foundation.d.ts.map +1 -0
- package/dist/bootstrap-foundation.js +773 -0
- package/dist/bootstrap-foundation.js.map +1 -0
- package/dist/chat-routing.d.ts +15 -0
- package/dist/chat-routing.d.ts.map +1 -0
- package/dist/chat-routing.js +172 -0
- package/dist/chat-routing.js.map +1 -0
- package/dist/command-manifest.d.ts +39 -0
- package/dist/command-manifest.d.ts.map +1 -0
- package/dist/command-manifest.js +240 -0
- package/dist/command-manifest.js.map +1 -0
- package/dist/config-policy.d.ts +31 -0
- package/dist/config-policy.d.ts.map +1 -0
- package/dist/config-policy.js +341 -0
- package/dist/config-policy.js.map +1 -0
- package/dist/fake-runtime.d.ts +68 -0
- package/dist/fake-runtime.d.ts.map +1 -0
- package/dist/fake-runtime.js +285 -0
- package/dist/fake-runtime.js.map +1 -0
- package/dist/guard-boundary.d.ts +53 -0
- package/dist/guard-boundary.d.ts.map +1 -0
- package/dist/guard-boundary.js +220 -0
- package/dist/guard-boundary.js.map +1 -0
- package/dist/guarded-dry-run.d.ts +46 -0
- package/dist/guarded-dry-run.d.ts.map +1 -0
- package/dist/guarded-dry-run.js +111 -0
- package/dist/guarded-dry-run.js.map +1 -0
- package/dist/hook-harness.d.ts +8 -0
- package/dist/hook-harness.d.ts.map +1 -0
- package/dist/hook-harness.js +130 -0
- package/dist/hook-harness.js.map +1 -0
- package/dist/index.d.ts +41 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +51 -0
- package/dist/index.js.map +1 -0
- package/dist/lane-observability.d.ts +22 -0
- package/dist/lane-observability.d.ts.map +1 -0
- package/dist/lane-observability.js +138 -0
- package/dist/lane-observability.js.map +1 -0
- package/dist/plan.d.ts +37 -0
- package/dist/plan.d.ts.map +1 -0
- package/dist/plan.js +137 -0
- package/dist/plan.js.map +1 -0
- package/dist/production-enablement.d.ts +57 -0
- package/dist/production-enablement.d.ts.map +1 -0
- package/dist/production-enablement.js +259 -0
- package/dist/production-enablement.js.map +1 -0
- package/dist/provider-failures.d.ts +19 -0
- package/dist/provider-failures.d.ts.map +1 -0
- package/dist/provider-failures.js +116 -0
- package/dist/provider-failures.js.map +1 -0
- package/dist/provider-usage-collector.d.ts +60 -0
- package/dist/provider-usage-collector.d.ts.map +1 -0
- package/dist/provider-usage-collector.js +502 -0
- package/dist/provider-usage-collector.js.map +1 -0
- package/dist/redaction.d.ts +5 -0
- package/dist/redaction.d.ts.map +1 -0
- package/dist/redaction.js +11 -0
- package/dist/redaction.js.map +1 -0
- package/dist/release1-contracts.d.ts +1203 -0
- package/dist/release1-contracts.d.ts.map +1 -0
- package/dist/release1-contracts.js +256 -0
- package/dist/release1-contracts.js.map +1 -0
- package/dist/retry.d.ts +21 -0
- package/dist/retry.d.ts.map +1 -0
- package/dist/retry.js +107 -0
- package/dist/retry.js.map +1 -0
- package/dist/reviewer-lane-conformance.d.ts +35 -0
- package/dist/reviewer-lane-conformance.d.ts.map +1 -0
- package/dist/reviewer-lane-conformance.js +124 -0
- package/dist/reviewer-lane-conformance.js.map +1 -0
- package/dist/schema-artifacts.d.ts +19 -0
- package/dist/schema-artifacts.d.ts.map +1 -0
- package/dist/schema-artifacts.js +182 -0
- package/dist/schema-artifacts.js.map +1 -0
- package/dist/schema-registry.d.ts +32 -0
- package/dist/schema-registry.d.ts.map +1 -0
- package/dist/schema-registry.js +163 -0
- package/dist/schema-registry.js.map +1 -0
- package/dist/session-evidence.d.ts +71 -0
- package/dist/session-evidence.d.ts.map +1 -0
- package/dist/session-evidence.js +336 -0
- package/dist/session-evidence.js.map +1 -0
- package/dist/state-paths.d.ts +20 -0
- package/dist/state-paths.d.ts.map +1 -0
- package/dist/state-paths.js +72 -0
- package/dist/state-paths.js.map +1 -0
- package/dist/state-store.d.ts +75 -0
- package/dist/state-store.d.ts.map +1 -0
- package/dist/state-store.js +567 -0
- package/dist/state-store.js.map +1 -0
- package/dist/status.d.ts +37 -0
- package/dist/status.d.ts.map +1 -0
- package/dist/status.js +304 -0
- package/dist/status.js.map +1 -0
- package/dist/tool-contract-fixtures.d.ts +134 -0
- package/dist/tool-contract-fixtures.d.ts.map +1 -0
- package/dist/tool-contract-fixtures.js +389 -0
- package/dist/tool-contract-fixtures.js.map +1 -0
- package/dist/top-tier-reviewer-lane-probe.d.ts +10 -0
- package/dist/top-tier-reviewer-lane-probe.d.ts.map +1 -0
- package/dist/top-tier-reviewer-lane-probe.js +76 -0
- package/dist/top-tier-reviewer-lane-probe.js.map +1 -0
- package/dist/usage-health.d.ts +44 -0
- package/dist/usage-health.d.ts.map +1 -0
- package/dist/usage-health.js +105 -0
- package/dist/usage-health.js.map +1 -0
- package/dist/validators.d.ts +142 -0
- package/dist/validators.d.ts.map +1 -0
- package/dist/validators.js +1690 -0
- package/dist/validators.js.map +1 -0
- package/package.json +37 -0
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
import { type ValidationResult } from "./validators.js";
|
|
2
|
+
export declare const FLOWDESK_WORKFLOW_ACTIVE_PATH: ".flowdesk/workflows/active.json";
|
|
3
|
+
export declare function validateFlowDeskRelativeStatePath(value: unknown, label?: string): ValidationResult;
|
|
4
|
+
export declare function workflowDirectoryPath(workflowId: string): string;
|
|
5
|
+
export declare function workflowRecordPath(workflowId: string): string;
|
|
6
|
+
export declare function attemptRecordPath(workflowId: string, attemptId: string): string;
|
|
7
|
+
export declare function checkpointRecordPath(workflowId: string, checkpointId: string): string;
|
|
8
|
+
export declare function activeAttemptLockPath(workflowId: string): string;
|
|
9
|
+
export declare function sessionDirectoryPath(sessionId: string): string;
|
|
10
|
+
export declare function sessionLanesPath(sessionId: string): string;
|
|
11
|
+
export declare function sessionAuditPath(sessionId: string): string;
|
|
12
|
+
export declare function redactedDebugDirectoryPath(sessionId: string): string;
|
|
13
|
+
export declare function redactedDebugManifestPath(sessionId: string): string;
|
|
14
|
+
export declare const FLOWDESK_SESSION_EVIDENCE_CLASSES: readonly ["usage_authority", "runtime_echo", "telemetry_correlation"];
|
|
15
|
+
export type FlowDeskSessionEvidenceClass = (typeof FLOWDESK_SESSION_EVIDENCE_CLASSES)[number];
|
|
16
|
+
export declare function sessionEvidenceDirectoryPath(sessionId: string, evidenceClass: FlowDeskSessionEvidenceClass): string;
|
|
17
|
+
export declare function sessionEvidenceRecordPath(sessionId: string, evidenceClass: FlowDeskSessionEvidenceClass, evidenceId: string): string;
|
|
18
|
+
export declare function assertFlowDeskRelativeStatePath(value: string, label?: string): string;
|
|
19
|
+
export declare function isFlowDeskRelativeStatePath(value: unknown): boolean;
|
|
20
|
+
//# sourceMappingURL=state-paths.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-paths.d.ts","sourceRoot":"","sources":["../src/state-paths.ts"],"names":[],"mappings":"AACA,OAAO,EAA6D,KAAK,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAEnH,eAAO,MAAM,6BAA6B,mCAAyD,CAAC;AAQpG,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,OAAO,EAAE,KAAK,SAAe,GAAG,gBAAgB,CAMxG;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,kBAAkB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAE7D;AAED,wBAAgB,iBAAiB,CAAC,UAAU,EAAE,MAAM,EAAE,SAAS,EAAE,MAAM,GAAG,MAAM,CAE/E;AAED,wBAAgB,oBAAoB,CAAC,UAAU,EAAE,MAAM,EAAE,YAAY,EAAE,MAAM,GAAG,MAAM,CAErF;AAED,wBAAgB,qBAAqB,CAAC,UAAU,EAAE,MAAM,GAAG,MAAM,CAEhE;AAED,wBAAgB,oBAAoB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE9D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,gBAAgB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAE1D;AAED,wBAAgB,0BAA0B,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEpE;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,GAAG,MAAM,CAEnE;AAED,eAAO,MAAM,iCAAiC,uEAAwE,CAAC;AACvH,MAAM,MAAM,4BAA4B,GAAG,CAAC,OAAO,iCAAiC,CAAC,CAAC,MAAM,CAAC,CAAC;AAQ9F,wBAAgB,4BAA4B,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,4BAA4B,GAAG,MAAM,CAEnH;AAED,wBAAgB,yBAAyB,CAAC,SAAS,EAAE,MAAM,EAAE,aAAa,EAAE,4BAA4B,EAAE,UAAU,EAAE,MAAM,GAAG,MAAM,CAEpI;AAED,wBAAgB,+BAA+B,CAAC,KAAK,EAAE,MAAM,EAAE,KAAK,SAAe,GAAG,MAAM,CAI3F;AAED,wBAAgB,2BAA2B,CAAC,KAAK,EAAE,OAAO,GAAG,OAAO,CAEnE"}
|
|
@@ -0,0 +1,72 @@
|
|
|
1
|
+
import { FLOWDESK_SESSION_RECORD_ROOT, FLOWDESK_WORKFLOW_STATE_ROOT } from "./release1-contracts.js";
|
|
2
|
+
import { invalid, validateNoForbiddenRawPayloads, validateOpaqueId } from "./validators.js";
|
|
3
|
+
export const FLOWDESK_WORKFLOW_ACTIVE_PATH = `${FLOWDESK_WORKFLOW_STATE_ROOT}/active.json`;
|
|
4
|
+
function assertOpaquePathSegment(value, label) {
|
|
5
|
+
const result = validateOpaqueId(value, label);
|
|
6
|
+
if (!result.ok)
|
|
7
|
+
throw new Error(result.errors.join("; "));
|
|
8
|
+
return value;
|
|
9
|
+
}
|
|
10
|
+
export function validateFlowDeskRelativeStatePath(value, label = "state path") {
|
|
11
|
+
if (typeof value !== "string")
|
|
12
|
+
return invalid(`${label} must be a string`);
|
|
13
|
+
if (!value.startsWith(".flowdesk/"))
|
|
14
|
+
return invalid(`${label} must stay under .flowdesk`);
|
|
15
|
+
if (value.startsWith("/") || /^[A-Za-z]:[\\/]/.test(value) || value.startsWith("~"))
|
|
16
|
+
return invalid(`${label} must be relative`);
|
|
17
|
+
if (value.includes("\\") || value.includes("//") || value.includes("/../") || value.endsWith("/..") || value.includes("/./"))
|
|
18
|
+
return invalid(`${label} must not contain traversal or platform separators`);
|
|
19
|
+
return validateNoForbiddenRawPayloads(value, label);
|
|
20
|
+
}
|
|
21
|
+
export function workflowDirectoryPath(workflowId) {
|
|
22
|
+
return `${FLOWDESK_WORKFLOW_STATE_ROOT}/${assertOpaquePathSegment(workflowId, "workflow_id")}`;
|
|
23
|
+
}
|
|
24
|
+
export function workflowRecordPath(workflowId) {
|
|
25
|
+
return `${workflowDirectoryPath(workflowId)}/workflow.json`;
|
|
26
|
+
}
|
|
27
|
+
export function attemptRecordPath(workflowId, attemptId) {
|
|
28
|
+
return `${workflowDirectoryPath(workflowId)}/attempts/${assertOpaquePathSegment(attemptId, "attempt_id")}.json`;
|
|
29
|
+
}
|
|
30
|
+
export function checkpointRecordPath(workflowId, checkpointId) {
|
|
31
|
+
return `${workflowDirectoryPath(workflowId)}/checkpoints/${assertOpaquePathSegment(checkpointId, "checkpoint_id")}.json`;
|
|
32
|
+
}
|
|
33
|
+
export function activeAttemptLockPath(workflowId) {
|
|
34
|
+
return `${workflowDirectoryPath(workflowId)}/locks/active-attempt.lock`;
|
|
35
|
+
}
|
|
36
|
+
export function sessionDirectoryPath(sessionId) {
|
|
37
|
+
return `${FLOWDESK_SESSION_RECORD_ROOT}/${assertOpaquePathSegment(sessionId, "session_id")}`;
|
|
38
|
+
}
|
|
39
|
+
export function sessionLanesPath(sessionId) {
|
|
40
|
+
return `${sessionDirectoryPath(sessionId)}/lanes.jsonl`;
|
|
41
|
+
}
|
|
42
|
+
export function sessionAuditPath(sessionId) {
|
|
43
|
+
return `${sessionDirectoryPath(sessionId)}/audit.jsonl`;
|
|
44
|
+
}
|
|
45
|
+
export function redactedDebugDirectoryPath(sessionId) {
|
|
46
|
+
return `${sessionDirectoryPath(sessionId)}/redacted-debug`;
|
|
47
|
+
}
|
|
48
|
+
export function redactedDebugManifestPath(sessionId) {
|
|
49
|
+
return `${redactedDebugDirectoryPath(sessionId)}/manifest.json`;
|
|
50
|
+
}
|
|
51
|
+
export const FLOWDESK_SESSION_EVIDENCE_CLASSES = ["usage_authority", "runtime_echo", "telemetry_correlation"];
|
|
52
|
+
const evidenceClassSegment = {
|
|
53
|
+
usage_authority: "usage-authority",
|
|
54
|
+
runtime_echo: "runtime-echo",
|
|
55
|
+
telemetry_correlation: "telemetry-correlation"
|
|
56
|
+
};
|
|
57
|
+
export function sessionEvidenceDirectoryPath(sessionId, evidenceClass) {
|
|
58
|
+
return `${sessionDirectoryPath(sessionId)}/evidence/${evidenceClassSegment[evidenceClass]}`;
|
|
59
|
+
}
|
|
60
|
+
export function sessionEvidenceRecordPath(sessionId, evidenceClass, evidenceId) {
|
|
61
|
+
return `${sessionEvidenceDirectoryPath(sessionId, evidenceClass)}/${assertOpaquePathSegment(evidenceId, "evidence_id")}.json`;
|
|
62
|
+
}
|
|
63
|
+
export function assertFlowDeskRelativeStatePath(value, label = "state path") {
|
|
64
|
+
const result = validateFlowDeskRelativeStatePath(value, label);
|
|
65
|
+
if (!result.ok)
|
|
66
|
+
throw new Error(result.errors.join("; "));
|
|
67
|
+
return value;
|
|
68
|
+
}
|
|
69
|
+
export function isFlowDeskRelativeStatePath(value) {
|
|
70
|
+
return validateFlowDeskRelativeStatePath(value).ok;
|
|
71
|
+
}
|
|
72
|
+
//# sourceMappingURL=state-paths.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-paths.js","sourceRoot":"","sources":["../src/state-paths.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1,75 @@
|
|
|
1
|
+
import type { FlowDeskActiveAttemptLockV1, FlowDeskAttemptRecordV1, FlowDeskAuditRecordV1, FlowDeskCheckpointRecordV1, FlowDeskDebugExportManifestV1, FlowDeskLaneRecordV1, FlowDeskWorkflowActiveV1, FlowDeskWorkflowRecordV1 } from "./release1-contracts.js";
|
|
2
|
+
import { type ValidationResult } from "./validators.js";
|
|
3
|
+
export type FlowDeskStateAuthority = "authoritative_workflow_state" | "redacted_session_support";
|
|
4
|
+
export type FlowDeskStateWriteOperation = "write_json" | "append_jsonl";
|
|
5
|
+
export interface FlowDeskStateWriteIntent<TRecord = unknown> {
|
|
6
|
+
operation: FlowDeskStateWriteOperation;
|
|
7
|
+
path: string;
|
|
8
|
+
schemaId: string;
|
|
9
|
+
authority: FlowDeskStateAuthority;
|
|
10
|
+
record: TRecord;
|
|
11
|
+
serialization: "json" | "jsonl";
|
|
12
|
+
fsSafety: "validated_relative_flowdesk_path_only";
|
|
13
|
+
atomicity: {
|
|
14
|
+
strategy: "temp_then_rename_intent";
|
|
15
|
+
tempPath: string;
|
|
16
|
+
};
|
|
17
|
+
}
|
|
18
|
+
export interface FlowDeskStatePrepareResult<TRecord = unknown> extends ValidationResult {
|
|
19
|
+
record?: TRecord;
|
|
20
|
+
writeIntent?: FlowDeskStateWriteIntent<TRecord>;
|
|
21
|
+
}
|
|
22
|
+
export interface FlowDeskStateWritePlanResult extends ValidationResult {
|
|
23
|
+
plan?: FlowDeskStateWritePlan;
|
|
24
|
+
}
|
|
25
|
+
export interface FlowDeskStateWritePlan {
|
|
26
|
+
intents: FlowDeskStateWriteIntent[];
|
|
27
|
+
}
|
|
28
|
+
export interface FlowDeskDurableStateApplyResult extends ValidationResult {
|
|
29
|
+
rootDir?: string;
|
|
30
|
+
writtenPaths?: string[];
|
|
31
|
+
realOpenCodeDispatch: false;
|
|
32
|
+
actualLaneLaunch: false;
|
|
33
|
+
providerCall: false;
|
|
34
|
+
runtimeExecution: false;
|
|
35
|
+
}
|
|
36
|
+
export interface FlowDeskDurableWorkflowStateSnapshotV1 {
|
|
37
|
+
active?: FlowDeskWorkflowActiveV1;
|
|
38
|
+
workflow?: FlowDeskWorkflowRecordV1;
|
|
39
|
+
currentAttempt?: FlowDeskAttemptRecordV1;
|
|
40
|
+
laneRecords: FlowDeskLaneRecordV1[];
|
|
41
|
+
}
|
|
42
|
+
export interface FlowDeskDurableStateReadResult extends ValidationResult {
|
|
43
|
+
rootDir?: string;
|
|
44
|
+
snapshot?: FlowDeskDurableWorkflowStateSnapshotV1;
|
|
45
|
+
realOpenCodeDispatch: false;
|
|
46
|
+
actualLaneLaunch: false;
|
|
47
|
+
providerCall: false;
|
|
48
|
+
runtimeExecution: false;
|
|
49
|
+
}
|
|
50
|
+
export interface FlowDeskStateValidationOptions {
|
|
51
|
+
now?: number;
|
|
52
|
+
}
|
|
53
|
+
export declare function validateFlowDeskStateWriteIntent(intent: unknown, options?: FlowDeskStateValidationOptions): ValidationResult;
|
|
54
|
+
export declare function prepareWorkflowActiveWriteIntent(record: FlowDeskWorkflowActiveV1, expected?: {
|
|
55
|
+
workflowId?: string;
|
|
56
|
+
attemptId?: string;
|
|
57
|
+
}): FlowDeskStatePrepareResult<FlowDeskWorkflowActiveV1>;
|
|
58
|
+
export declare function prepareWorkflowRecordWriteIntent(record: FlowDeskWorkflowRecordV1): FlowDeskStatePrepareResult<FlowDeskWorkflowRecordV1>;
|
|
59
|
+
export declare function prepareAttemptRecordWriteIntent(record: FlowDeskAttemptRecordV1): FlowDeskStatePrepareResult<FlowDeskAttemptRecordV1>;
|
|
60
|
+
export declare function prepareCheckpointRecordWriteIntent(record: FlowDeskCheckpointRecordV1, options: {
|
|
61
|
+
source: "durable_workflow_state" | "event_only";
|
|
62
|
+
}): FlowDeskStatePrepareResult<FlowDeskCheckpointRecordV1>;
|
|
63
|
+
export declare function prepareActiveAttemptLockWriteIntent(record: FlowDeskActiveAttemptLockV1, now?: number): FlowDeskStatePrepareResult<FlowDeskActiveAttemptLockV1>;
|
|
64
|
+
export declare function prepareLaneRecordWriteIntent(sessionId: string, record: FlowDeskLaneRecordV1): FlowDeskStatePrepareResult<FlowDeskLaneRecordV1>;
|
|
65
|
+
export declare function prepareAuditRecordWriteIntent(sessionId: string, record: FlowDeskAuditRecordV1): FlowDeskStatePrepareResult<FlowDeskAuditRecordV1>;
|
|
66
|
+
export declare function prepareDebugExportManifestWriteIntent(sessionId: string, record: FlowDeskDebugExportManifestV1): FlowDeskStatePrepareResult<FlowDeskDebugExportManifestV1>;
|
|
67
|
+
export declare function createFlowDeskStateWritePlan(intents: readonly FlowDeskStateWriteIntent[], options?: FlowDeskStateValidationOptions): FlowDeskStateWritePlanResult;
|
|
68
|
+
export declare function applyWriteIntentsToInMemoryState(intents: readonly FlowDeskStateWriteIntent[], initial?: ReadonlyMap<string, string>, options?: FlowDeskStateValidationOptions): Map<string, string>;
|
|
69
|
+
export declare function loadFlowDeskDurableWorkflowState(rootDir: string, options?: {
|
|
70
|
+
workflowId?: string;
|
|
71
|
+
sessionId?: string;
|
|
72
|
+
now?: number;
|
|
73
|
+
}): FlowDeskDurableStateReadResult;
|
|
74
|
+
export declare function applyWriteIntentsToDurableState(rootDir: string, intents: readonly FlowDeskStateWriteIntent[], options?: FlowDeskStateValidationOptions): FlowDeskDurableStateApplyResult;
|
|
75
|
+
//# sourceMappingURL=state-store.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"state-store.d.ts","sourceRoot":"","sources":["../src/state-store.ts"],"names":[],"mappings":"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"}
|