@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.
Files changed (121) hide show
  1. package/dist/agent-profiles.d.ts +38 -0
  2. package/dist/agent-profiles.d.ts.map +1 -0
  3. package/dist/agent-profiles.js +138 -0
  4. package/dist/agent-profiles.js.map +1 -0
  5. package/dist/audit.d.ts +11 -0
  6. package/dist/audit.d.ts.map +1 -0
  7. package/dist/audit.js +65 -0
  8. package/dist/audit.js.map +1 -0
  9. package/dist/bootstrap-foundation.d.ts +83 -0
  10. package/dist/bootstrap-foundation.d.ts.map +1 -0
  11. package/dist/bootstrap-foundation.js +773 -0
  12. package/dist/bootstrap-foundation.js.map +1 -0
  13. package/dist/chat-routing.d.ts +15 -0
  14. package/dist/chat-routing.d.ts.map +1 -0
  15. package/dist/chat-routing.js +172 -0
  16. package/dist/chat-routing.js.map +1 -0
  17. package/dist/command-manifest.d.ts +39 -0
  18. package/dist/command-manifest.d.ts.map +1 -0
  19. package/dist/command-manifest.js +240 -0
  20. package/dist/command-manifest.js.map +1 -0
  21. package/dist/config-policy.d.ts +31 -0
  22. package/dist/config-policy.d.ts.map +1 -0
  23. package/dist/config-policy.js +341 -0
  24. package/dist/config-policy.js.map +1 -0
  25. package/dist/fake-runtime.d.ts +68 -0
  26. package/dist/fake-runtime.d.ts.map +1 -0
  27. package/dist/fake-runtime.js +285 -0
  28. package/dist/fake-runtime.js.map +1 -0
  29. package/dist/guard-boundary.d.ts +53 -0
  30. package/dist/guard-boundary.d.ts.map +1 -0
  31. package/dist/guard-boundary.js +220 -0
  32. package/dist/guard-boundary.js.map +1 -0
  33. package/dist/guarded-dry-run.d.ts +46 -0
  34. package/dist/guarded-dry-run.d.ts.map +1 -0
  35. package/dist/guarded-dry-run.js +111 -0
  36. package/dist/guarded-dry-run.js.map +1 -0
  37. package/dist/hook-harness.d.ts +8 -0
  38. package/dist/hook-harness.d.ts.map +1 -0
  39. package/dist/hook-harness.js +130 -0
  40. package/dist/hook-harness.js.map +1 -0
  41. package/dist/index.d.ts +41 -0
  42. package/dist/index.d.ts.map +1 -0
  43. package/dist/index.js +51 -0
  44. package/dist/index.js.map +1 -0
  45. package/dist/lane-observability.d.ts +22 -0
  46. package/dist/lane-observability.d.ts.map +1 -0
  47. package/dist/lane-observability.js +138 -0
  48. package/dist/lane-observability.js.map +1 -0
  49. package/dist/plan.d.ts +37 -0
  50. package/dist/plan.d.ts.map +1 -0
  51. package/dist/plan.js +137 -0
  52. package/dist/plan.js.map +1 -0
  53. package/dist/production-enablement.d.ts +57 -0
  54. package/dist/production-enablement.d.ts.map +1 -0
  55. package/dist/production-enablement.js +259 -0
  56. package/dist/production-enablement.js.map +1 -0
  57. package/dist/provider-failures.d.ts +19 -0
  58. package/dist/provider-failures.d.ts.map +1 -0
  59. package/dist/provider-failures.js +116 -0
  60. package/dist/provider-failures.js.map +1 -0
  61. package/dist/provider-usage-collector.d.ts +60 -0
  62. package/dist/provider-usage-collector.d.ts.map +1 -0
  63. package/dist/provider-usage-collector.js +502 -0
  64. package/dist/provider-usage-collector.js.map +1 -0
  65. package/dist/redaction.d.ts +5 -0
  66. package/dist/redaction.d.ts.map +1 -0
  67. package/dist/redaction.js +11 -0
  68. package/dist/redaction.js.map +1 -0
  69. package/dist/release1-contracts.d.ts +1203 -0
  70. package/dist/release1-contracts.d.ts.map +1 -0
  71. package/dist/release1-contracts.js +256 -0
  72. package/dist/release1-contracts.js.map +1 -0
  73. package/dist/retry.d.ts +21 -0
  74. package/dist/retry.d.ts.map +1 -0
  75. package/dist/retry.js +107 -0
  76. package/dist/retry.js.map +1 -0
  77. package/dist/reviewer-lane-conformance.d.ts +35 -0
  78. package/dist/reviewer-lane-conformance.d.ts.map +1 -0
  79. package/dist/reviewer-lane-conformance.js +124 -0
  80. package/dist/reviewer-lane-conformance.js.map +1 -0
  81. package/dist/schema-artifacts.d.ts +19 -0
  82. package/dist/schema-artifacts.d.ts.map +1 -0
  83. package/dist/schema-artifacts.js +182 -0
  84. package/dist/schema-artifacts.js.map +1 -0
  85. package/dist/schema-registry.d.ts +32 -0
  86. package/dist/schema-registry.d.ts.map +1 -0
  87. package/dist/schema-registry.js +163 -0
  88. package/dist/schema-registry.js.map +1 -0
  89. package/dist/session-evidence.d.ts +71 -0
  90. package/dist/session-evidence.d.ts.map +1 -0
  91. package/dist/session-evidence.js +336 -0
  92. package/dist/session-evidence.js.map +1 -0
  93. package/dist/state-paths.d.ts +20 -0
  94. package/dist/state-paths.d.ts.map +1 -0
  95. package/dist/state-paths.js +72 -0
  96. package/dist/state-paths.js.map +1 -0
  97. package/dist/state-store.d.ts +75 -0
  98. package/dist/state-store.d.ts.map +1 -0
  99. package/dist/state-store.js +567 -0
  100. package/dist/state-store.js.map +1 -0
  101. package/dist/status.d.ts +37 -0
  102. package/dist/status.d.ts.map +1 -0
  103. package/dist/status.js +304 -0
  104. package/dist/status.js.map +1 -0
  105. package/dist/tool-contract-fixtures.d.ts +134 -0
  106. package/dist/tool-contract-fixtures.d.ts.map +1 -0
  107. package/dist/tool-contract-fixtures.js +389 -0
  108. package/dist/tool-contract-fixtures.js.map +1 -0
  109. package/dist/top-tier-reviewer-lane-probe.d.ts +10 -0
  110. package/dist/top-tier-reviewer-lane-probe.d.ts.map +1 -0
  111. package/dist/top-tier-reviewer-lane-probe.js +76 -0
  112. package/dist/top-tier-reviewer-lane-probe.js.map +1 -0
  113. package/dist/usage-health.d.ts +44 -0
  114. package/dist/usage-health.d.ts.map +1 -0
  115. package/dist/usage-health.js +105 -0
  116. package/dist/usage-health.js.map +1 -0
  117. package/dist/validators.d.ts +142 -0
  118. package/dist/validators.d.ts.map +1 -0
  119. package/dist/validators.js +1690 -0
  120. package/dist/validators.js.map +1 -0
  121. package/package.json +37 -0
@@ -0,0 +1,116 @@
1
+ import { PROVIDER_FAILURE_CLASSES } from "./release1-contracts.js";
2
+ const providerDiagnosticActions = ["/flowdesk-doctor", "/flowdesk-usage", "/flowdesk-status", "/flowdesk-export-debug"];
3
+ const modelDiagnosticActions = ["/flowdesk-doctor", "/flowdesk-status", "/flowdesk-export-debug"];
4
+ const retryDiagnosticActions = ["/flowdesk-doctor", "/flowdesk-usage", "/flowdesk-status", "/flowdesk-retry", "/flowdesk-export-debug"];
5
+ const noFailureActions = ["/flowdesk-status", "/flowdesk-usage", "/flowdesk-export-debug"];
6
+ const mappingByFailureClass = {
7
+ none: {
8
+ availability_state: "healthy",
9
+ dispatchability: "diagnostic_only",
10
+ diagnostic_status: "diagnostic_only",
11
+ retry_state: "planned",
12
+ redacted_category: "provider_health",
13
+ safe_next_actions: [...noFailureActions],
14
+ safe_remediation: "Provider health has no recorded failure; continue with Release 1 diagnostic status checks."
15
+ },
16
+ auth_missing: {
17
+ availability_state: "unavailable",
18
+ dispatchability: "non_dispatchable",
19
+ diagnostic_status: "blocked",
20
+ retry_state: "diagnostic_only",
21
+ redacted_category: "provider_api",
22
+ safe_next_actions: [...providerDiagnosticActions],
23
+ safe_remediation: "Run /flowdesk-doctor and provider setup checks; retry planning remains diagnostic-only until credentials are fixed."
24
+ },
25
+ auth_expired: {
26
+ availability_state: "unavailable",
27
+ dispatchability: "non_dispatchable",
28
+ diagnostic_status: "blocked",
29
+ retry_state: "diagnostic_only",
30
+ redacted_category: "provider_api",
31
+ safe_next_actions: [...providerDiagnosticActions],
32
+ safe_remediation: "Run /flowdesk-doctor and refresh provider authentication outside FlowDesk before retry planning."
33
+ },
34
+ provider_unavailable: {
35
+ availability_state: "unavailable",
36
+ dispatchability: "non_dispatchable",
37
+ diagnostic_status: "blocked",
38
+ retry_state: "diagnostic_only",
39
+ redacted_category: "provider_health",
40
+ safe_next_actions: [...providerDiagnosticActions],
41
+ safe_remediation: "Run /flowdesk-doctor and /flowdesk-usage to refresh redacted provider availability diagnostics."
42
+ },
43
+ rate_limited: {
44
+ availability_state: "degraded",
45
+ dispatchability: "non_dispatchable",
46
+ diagnostic_status: "degraded",
47
+ retry_state: "diagnostic_only",
48
+ redacted_category: "provider_api",
49
+ safe_next_actions: [...retryDiagnosticActions],
50
+ safe_remediation: "Run /flowdesk-usage and /flowdesk-status; retry planning stays diagnostic-only until provider limits are fresh and healthy."
51
+ },
52
+ model_unavailable: {
53
+ availability_state: "unavailable",
54
+ dispatchability: "non_dispatchable",
55
+ diagnostic_status: "blocked",
56
+ retry_state: "diagnostic_only",
57
+ redacted_category: "model_availability",
58
+ safe_next_actions: [...modelDiagnosticActions],
59
+ safe_remediation: "Run /flowdesk-doctor and inspect model availability diagnostics before planning another attempt."
60
+ },
61
+ transport_timeout: {
62
+ availability_state: "unknown",
63
+ dispatchability: "non_dispatchable",
64
+ diagnostic_status: "degraded",
65
+ retry_state: "diagnostic_only",
66
+ redacted_category: "provider_api",
67
+ safe_next_actions: [...retryDiagnosticActions],
68
+ safe_remediation: "Run /flowdesk-doctor and /flowdesk-status to refresh transport diagnostics before retry planning."
69
+ },
70
+ provider_error: {
71
+ availability_state: "degraded",
72
+ dispatchability: "non_dispatchable",
73
+ diagnostic_status: "degraded",
74
+ retry_state: "diagnostic_only",
75
+ redacted_category: "provider_api",
76
+ safe_next_actions: [...providerDiagnosticActions],
77
+ safe_remediation: "Run /flowdesk-doctor and inspect redacted provider API diagnostics before retry planning."
78
+ },
79
+ opencode_provider_load_failure: {
80
+ availability_state: "unavailable",
81
+ dispatchability: "non_dispatchable",
82
+ diagnostic_status: "blocked",
83
+ retry_state: "diagnostic_only",
84
+ redacted_category: "provider_health",
85
+ safe_next_actions: [...providerDiagnosticActions],
86
+ safe_remediation: "Run /flowdesk-doctor to inspect OpenCode provider loading diagnostics before retry planning."
87
+ },
88
+ telemetry_ambiguous: {
89
+ availability_state: "unknown",
90
+ dispatchability: "non_dispatchable",
91
+ diagnostic_status: "diagnostic_only",
92
+ retry_state: "diagnostic_only",
93
+ redacted_category: "provider_health",
94
+ safe_next_actions: [...providerDiagnosticActions],
95
+ safe_remediation: "Run /flowdesk-doctor and /flowdesk-status to refresh ambiguous provider telemetry."
96
+ }
97
+ };
98
+ export function mapProviderFailureClassToDiagnosticOutcomeV1(failureClass) {
99
+ const mapping = mappingByFailureClass[failureClass];
100
+ return {
101
+ failure_class: failureClass,
102
+ ...mapping,
103
+ safe_next_actions: [...mapping.safe_next_actions],
104
+ dispatch_authorized: false,
105
+ fallback_authorized: false,
106
+ provider_call_authorized: false,
107
+ hard_chat_authority: false
108
+ };
109
+ }
110
+ export function getProviderFailureDiagnosticMappingsV1() {
111
+ return PROVIDER_FAILURE_CLASSES.map((failureClass) => mapProviderFailureClassToDiagnosticOutcomeV1(failureClass));
112
+ }
113
+ export function providerFailureClassIsDiagnosticOnlyV1(failureClass) {
114
+ return failureClass !== "none";
115
+ }
116
+ //# sourceMappingURL=provider-failures.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-failures.js","sourceRoot":"","sources":["../src/provider-failures.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,60 @@
1
+ import type { FlowDeskManagedDispatchBetaUsageAuthorityEvidenceV1, FlowDeskProviderHealthSnapshotV1, FlowDeskUsageSnapshotV1, ProviderFamily } from "./release1-contracts.js";
2
+ type ConcreteProviderFamily = Exclude<ProviderFamily, "unknown" | "all">;
3
+ type CollectorProviderFamily = Extract<ConcreteProviderFamily, "claude" | "openai" | "gemini">;
4
+ export interface FlowDeskProviderUsageCollectorTargetV1 {
5
+ providerFamily: CollectorProviderFamily;
6
+ providerQualifiedModelId: string;
7
+ modelFamily: string;
8
+ usageSnapshotId: string;
9
+ authorityRef: string;
10
+ sourceRef: string;
11
+ conformanceRef: string;
12
+ redactedEvidenceRefs: readonly string[];
13
+ observedAt?: string;
14
+ freshnessTtlMinutes?: number;
15
+ }
16
+ export interface FlowDeskProviderUsageAcquisitionConfigV1 {
17
+ enabled?: boolean;
18
+ homeDir?: string;
19
+ providers?: readonly CollectorProviderFamily[];
20
+ claudeOAuthUsage?: boolean;
21
+ codexLiveUsage?: boolean;
22
+ geminiOAuthClientId?: string;
23
+ geminiOAuthClientSecret?: string;
24
+ geminiProjectId?: string;
25
+ geminiQuota?: boolean;
26
+ }
27
+ export interface FlowDeskProviderUsageCollectorOptionsV1 {
28
+ filesystem?: FlowDeskProviderUsageFileSystemV1;
29
+ env?: Record<string, string | undefined>;
30
+ fetch?: FlowDeskProviderUsageFetchV1;
31
+ execFile?: FlowDeskProviderUsageExecFileV1;
32
+ now?: () => number;
33
+ }
34
+ export interface FlowDeskProviderUsageFileSystemV1 {
35
+ exists(path: string): boolean;
36
+ readFile(path: string): string;
37
+ }
38
+ export interface FlowDeskProviderUsageFetchResponseV1 {
39
+ ok: boolean;
40
+ status: number;
41
+ text(): Promise<string>;
42
+ }
43
+ export interface FlowDeskProviderUsageFetchRequestV1 {
44
+ method: "GET" | "POST";
45
+ headers: Record<string, string>;
46
+ body?: string;
47
+ }
48
+ export type FlowDeskProviderUsageFetchV1 = (url: string, init: FlowDeskProviderUsageFetchRequestV1) => Promise<FlowDeskProviderUsageFetchResponseV1>;
49
+ export type FlowDeskProviderUsageExecFileV1 = (file: string, args: string[]) => string;
50
+ export interface FlowDeskProviderUsageCollectorResultV1 {
51
+ ok: boolean;
52
+ source_kind: "provider_native";
53
+ usageSnapshot: FlowDeskUsageSnapshotV1;
54
+ providerHealthSnapshot: FlowDeskProviderHealthSnapshotV1;
55
+ usageAuthorityEvidence?: FlowDeskManagedDispatchBetaUsageAuthorityEvidenceV1;
56
+ redacted_reason?: string;
57
+ }
58
+ export declare function collectManagedDispatchBetaUsageEvidenceV1(target: FlowDeskProviderUsageCollectorTargetV1, acquisition: FlowDeskProviderUsageAcquisitionConfigV1 | undefined, options?: FlowDeskProviderUsageCollectorOptionsV1): Promise<FlowDeskProviderUsageCollectorResultV1>;
59
+ export {};
60
+ //# sourceMappingURL=provider-usage-collector.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"provider-usage-collector.d.ts","sourceRoot":"","sources":["../src/provider-usage-collector.ts"],"names":[],"mappings":"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"}