skill-flow 1.0.8 → 1.3.3

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 (143) hide show
  1. package/README.md +209 -131
  2. package/README.zh.md +170 -131
  3. package/dist/bridge-command.d.ts +9 -0
  4. package/dist/bridge-command.js +422 -0
  5. package/dist/bridge-command.js.map +1 -0
  6. package/dist/cli.js +68 -8
  7. package/dist/cli.js.map +1 -1
  8. package/package.json +11 -2
  9. package/dist/adapters/channel-adapters.d.ts +0 -8
  10. package/dist/adapters/channel-adapters.js +0 -64
  11. package/dist/adapters/channel-adapters.js.map +0 -1
  12. package/dist/domain/types.d.ts +0 -234
  13. package/dist/domain/types.js +0 -2
  14. package/dist/domain/types.js.map +0 -1
  15. package/dist/services/config-coordinator.d.ts +0 -38
  16. package/dist/services/config-coordinator.js +0 -83
  17. package/dist/services/config-coordinator.js.map +0 -1
  18. package/dist/services/deployment-applier.d.ts +0 -10
  19. package/dist/services/deployment-applier.js +0 -84
  20. package/dist/services/deployment-applier.js.map +0 -1
  21. package/dist/services/deployment-planner.d.ts +0 -16
  22. package/dist/services/deployment-planner.js +0 -366
  23. package/dist/services/deployment-planner.js.map +0 -1
  24. package/dist/services/doctor-service.d.ts +0 -7
  25. package/dist/services/doctor-service.js +0 -204
  26. package/dist/services/doctor-service.js.map +0 -1
  27. package/dist/services/inventory-service.d.ts +0 -17
  28. package/dist/services/inventory-service.js +0 -216
  29. package/dist/services/inventory-service.js.map +0 -1
  30. package/dist/services/skill-flow.d.ts +0 -136
  31. package/dist/services/skill-flow.js +0 -1210
  32. package/dist/services/skill-flow.js.map +0 -1
  33. package/dist/services/source-service.d.ts +0 -57
  34. package/dist/services/source-service.js +0 -809
  35. package/dist/services/source-service.js.map +0 -1
  36. package/dist/services/workflow-service.d.ts +0 -5
  37. package/dist/services/workflow-service.js +0 -45
  38. package/dist/services/workflow-service.js.map +0 -1
  39. package/dist/services/workspace-bootstrap-service.d.ts +0 -25
  40. package/dist/services/workspace-bootstrap-service.js +0 -140
  41. package/dist/services/workspace-bootstrap-service.js.map +0 -1
  42. package/dist/state/store.d.ts +0 -35
  43. package/dist/state/store.js +0 -151
  44. package/dist/state/store.js.map +0 -1
  45. package/dist/tests/add-flow-model.test.d.ts +0 -1
  46. package/dist/tests/add-flow-model.test.js +0 -108
  47. package/dist/tests/add-flow-model.test.js.map +0 -1
  48. package/dist/tests/add-flow-ui.test.d.ts +0 -1
  49. package/dist/tests/add-flow-ui.test.js +0 -16
  50. package/dist/tests/add-flow-ui.test.js.map +0 -1
  51. package/dist/tests/add-prepare-flow.test.d.ts +0 -1
  52. package/dist/tests/add-prepare-flow.test.js +0 -166
  53. package/dist/tests/add-prepare-flow.test.js.map +0 -1
  54. package/dist/tests/add-selection-and-find-command.test.d.ts +0 -1
  55. package/dist/tests/add-selection-and-find-command.test.js +0 -89
  56. package/dist/tests/add-selection-and-find-command.test.js.map +0 -1
  57. package/dist/tests/clawhub.test.d.ts +0 -1
  58. package/dist/tests/clawhub.test.js +0 -63
  59. package/dist/tests/clawhub.test.js.map +0 -1
  60. package/dist/tests/cli-utils.test.d.ts +0 -1
  61. package/dist/tests/cli-utils.test.js +0 -24
  62. package/dist/tests/cli-utils.test.js.map +0 -1
  63. package/dist/tests/config-coordinator.test.d.ts +0 -1
  64. package/dist/tests/config-coordinator.test.js +0 -219
  65. package/dist/tests/config-coordinator.test.js.map +0 -1
  66. package/dist/tests/config-integration.test.d.ts +0 -1
  67. package/dist/tests/config-integration.test.js +0 -276
  68. package/dist/tests/config-integration.test.js.map +0 -1
  69. package/dist/tests/config-ui-utils.test.d.ts +0 -1
  70. package/dist/tests/config-ui-utils.test.js +0 -523
  71. package/dist/tests/config-ui-utils.test.js.map +0 -1
  72. package/dist/tests/find-and-naming-utils.test.d.ts +0 -1
  73. package/dist/tests/find-and-naming-utils.test.js +0 -127
  74. package/dist/tests/find-and-naming-utils.test.js.map +0 -1
  75. package/dist/tests/inventory-service-precedence.test.d.ts +0 -1
  76. package/dist/tests/inventory-service-precedence.test.js +0 -42
  77. package/dist/tests/inventory-service-precedence.test.js.map +0 -1
  78. package/dist/tests/skill-flow.test.d.ts +0 -1
  79. package/dist/tests/skill-flow.test.js +0 -991
  80. package/dist/tests/skill-flow.test.js.map +0 -1
  81. package/dist/tests/source-lifecycle.test.d.ts +0 -1
  82. package/dist/tests/source-lifecycle.test.js +0 -644
  83. package/dist/tests/source-lifecycle.test.js.map +0 -1
  84. package/dist/tests/source-parsing-compatibility.test.d.ts +0 -1
  85. package/dist/tests/source-parsing-compatibility.test.js +0 -72
  86. package/dist/tests/source-parsing-compatibility.test.js.map +0 -1
  87. package/dist/tests/target-definitions.test.d.ts +0 -1
  88. package/dist/tests/target-definitions.test.js +0 -51
  89. package/dist/tests/target-definitions.test.js.map +0 -1
  90. package/dist/tests/test-helpers.d.ts +0 -18
  91. package/dist/tests/test-helpers.js +0 -123
  92. package/dist/tests/test-helpers.js.map +0 -1
  93. package/dist/tui/add-flow-model.d.ts +0 -62
  94. package/dist/tui/add-flow-model.js +0 -206
  95. package/dist/tui/add-flow-model.js.map +0 -1
  96. package/dist/tui/add-flow.d.ts +0 -25
  97. package/dist/tui/add-flow.js +0 -534
  98. package/dist/tui/add-flow.js.map +0 -1
  99. package/dist/tui/config-app.d.ts +0 -178
  100. package/dist/tui/config-app.js +0 -1551
  101. package/dist/tui/config-app.js.map +0 -1
  102. package/dist/tui/find-app.d.ts +0 -9
  103. package/dist/tui/find-app.js +0 -150
  104. package/dist/tui/find-app.js.map +0 -1
  105. package/dist/tui/selection-state.d.ts +0 -8
  106. package/dist/tui/selection-state.js +0 -32
  107. package/dist/tui/selection-state.js.map +0 -1
  108. package/dist/utils/builtin-git-sources.d.ts +0 -5
  109. package/dist/utils/builtin-git-sources.js +0 -23
  110. package/dist/utils/builtin-git-sources.js.map +0 -1
  111. package/dist/utils/clawhub.d.ts +0 -41
  112. package/dist/utils/clawhub.js +0 -94
  113. package/dist/utils/clawhub.js.map +0 -1
  114. package/dist/utils/cli.d.ts +0 -2
  115. package/dist/utils/cli.js +0 -19
  116. package/dist/utils/cli.js.map +0 -1
  117. package/dist/utils/constants.d.ts +0 -23
  118. package/dist/utils/constants.js +0 -195
  119. package/dist/utils/constants.js.map +0 -1
  120. package/dist/utils/find-command.d.ts +0 -2
  121. package/dist/utils/find-command.js +0 -29
  122. package/dist/utils/find-command.js.map +0 -1
  123. package/dist/utils/format.d.ts +0 -7
  124. package/dist/utils/format.js +0 -68
  125. package/dist/utils/format.js.map +0 -1
  126. package/dist/utils/fs.d.ts +0 -16
  127. package/dist/utils/fs.js +0 -144
  128. package/dist/utils/fs.js.map +0 -1
  129. package/dist/utils/git.d.ts +0 -3
  130. package/dist/utils/git.js +0 -12
  131. package/dist/utils/git.js.map +0 -1
  132. package/dist/utils/github-catalog.d.ts +0 -1
  133. package/dist/utils/github-catalog.js +0 -25
  134. package/dist/utils/github-catalog.js.map +0 -1
  135. package/dist/utils/naming.d.ts +0 -29
  136. package/dist/utils/naming.js +0 -115
  137. package/dist/utils/naming.js.map +0 -1
  138. package/dist/utils/result.d.ts +0 -4
  139. package/dist/utils/result.js +0 -15
  140. package/dist/utils/result.js.map +0 -1
  141. package/dist/utils/source-id.d.ts +0 -2
  142. package/dist/utils/source-id.js +0 -49
  143. package/dist/utils/source-id.js.map +0 -1
@@ -1,178 +0,0 @@
1
- import type { ConfigBootStatus, DeploymentAction, DeploymentTargetName, DraftBinding, WorkflowSummary } from "../domain/types.js";
2
- import type { SkillFlowApp } from "../services/skill-flow.js";
3
- type ConfigAppProps = {
4
- app: SkillFlowApp;
5
- availableTargets: DeploymentTargetName[];
6
- summaries: WorkflowSummary[];
7
- initialDrafts: Record<string, DraftBinding>;
8
- bootStatus: ConfigBootStatus;
9
- };
10
- type FocusPane = "groups" | "detail.agents" | "detail.skills" | "detail.actions";
11
- type DetailFocus = Exclude<FocusPane, "groups">;
12
- type ActionName = "update" | "delete";
13
- type AlertLevel = "error" | "blocked" | "warning";
14
- type SaveState = {
15
- phase: "idle" | "saving" | "saved" | "failed";
16
- message: string | undefined;
17
- };
18
- type UpdateState = {
19
- phase: "idle" | "updating" | "updated" | "failed";
20
- message: string | undefined;
21
- };
22
- type DeleteState = {
23
- phase: "idle" | "deleting" | "failed";
24
- sourceId: string | undefined;
25
- message: string | undefined;
26
- };
27
- type StatusKind = "clean" | "saving" | "saved" | "failed" | "updating" | "updated" | "update-failed" | "deleting";
28
- type StatusDisplay = {
29
- kind: StatusKind;
30
- label: string;
31
- color: "green" | "cyan" | "red" | "yellow" | "gray";
32
- };
33
- type TopBarDisplay = {
34
- title: string;
35
- titleColor: "blue";
36
- detail?: string;
37
- detailColor?: StatusDisplay["color"];
38
- };
39
- type PaneRow = {
40
- key: string;
41
- text: string;
42
- active: boolean;
43
- color: "cyan" | "gray" | "green" | "red" | "white" | "yellow" | undefined;
44
- bold?: boolean;
45
- activeColor?: "cyan" | "gray" | "green" | "red" | "white" | "yellow";
46
- };
47
- type AlertItem = {
48
- level: AlertLevel;
49
- message: string;
50
- };
51
- export type ConfigGroup = {
52
- id: string;
53
- title: string;
54
- kind: "source" | "clawhub";
55
- summaries: WorkflowSummary[];
56
- };
57
- type ConfigSkillRow = {
58
- summary: WorkflowSummary;
59
- leaf: WorkflowSummary["leafs"][number];
60
- };
61
- type WindowedRows<T> = {
62
- rows: T[];
63
- start: number;
64
- end: number;
65
- };
66
- type FocusSnapshot = {
67
- focus: FocusPane;
68
- groupIndex: number;
69
- groupId: string;
70
- sourceId: string | undefined;
71
- agentTarget: DeploymentTargetName | undefined;
72
- skillId: string | undefined;
73
- action: ActionName;
74
- };
75
- type ProjectionWarningMap = Record<string, string[]>;
76
- export declare function normalizeDraft(draft: DraftBinding): DraftBinding;
77
- export declare function draftsEqual(left: DraftBinding, right: DraftBinding): boolean;
78
- export declare function buildDraftsFromSummaries(summaries: WorkflowSummary[]): Record<string, DraftBinding>;
79
- export declare function buildConfigGroups(summaries: WorkflowSummary[]): ConfigGroup[];
80
- export declare function buildConfigGroupSkillRows(group: ConfigGroup): ConfigSkillRow[];
81
- export declare function getPaneViewportCount(paneHeight: number, reservedRows?: number): number;
82
- export declare function getPaneWidths(terminalColumns: number): [number, number];
83
- export declare function getActionChangeCount(actions: DeploymentAction[]): number;
84
- export declare function getGroupSelectedLeafCount({ drafts, group, }: {
85
- drafts: Record<string, DraftBinding>;
86
- group: ConfigGroup;
87
- }): number;
88
- export declare function getStatusDisplay({ deleteState, isSelectedDelete, saveState, updateState, }: {
89
- deleteState: DeleteState;
90
- isSelectedDelete: boolean;
91
- saveState: SaveState;
92
- updateState: UpdateState;
93
- }): StatusDisplay;
94
- export declare function buildTopBar({ width, isDirty, changeCount, showDelete, statusLabel, }: {
95
- width: number;
96
- isDirty: boolean;
97
- changeCount: number;
98
- showDelete: boolean;
99
- statusLabel: string;
100
- }): TopBarDisplay;
101
- export declare function prioritizeAlerts(alerts: AlertItem[]): AlertItem[];
102
- export declare function getInitialDetailFocus({ hasAgents, hasSkills, }: {
103
- hasAgents: boolean;
104
- hasSkills: boolean;
105
- }): DetailFocus;
106
- export declare function moveDetailFocus({ actionCursor, actionCount, agentCount, agentCursor, direction, focus, skillCount, skillCursor, }: {
107
- actionCursor: number;
108
- actionCount: number;
109
- agentCount: number;
110
- agentCursor: number;
111
- direction: -1 | 1;
112
- focus: DetailFocus;
113
- skillCount: number;
114
- skillCursor: number;
115
- }): {
116
- focus: DetailFocus;
117
- agentCursor: number;
118
- skillCursor: number;
119
- actionCursor: number;
120
- };
121
- export declare function getNextSelectionIndexAfterDelete(currentIndex: number, nextCount: number): number;
122
- export declare function captureFocusSnapshot({ actionCursor, agentCursor, availableTargets, focus, groupId, selectedGroupIndex, selectedSummary, skillCursor, }: {
123
- actionCursor: number;
124
- agentCursor: number;
125
- availableTargets: DeploymentTargetName[];
126
- focus: FocusPane;
127
- groupId: string;
128
- selectedGroupIndex: number;
129
- selectedSummary: WorkflowSummary | undefined;
130
- skillCursor: number;
131
- }): FocusSnapshot;
132
- export declare function reconcileFocusAfterReload({ availableTargets, nextGroups, snapshot, }: {
133
- availableTargets: DeploymentTargetName[];
134
- nextGroups: ConfigGroup[];
135
- snapshot: FocusSnapshot;
136
- }): {
137
- actionCursor: number;
138
- agentCursor: number;
139
- focus: FocusPane;
140
- groupCursor: number;
141
- selectedGroupIndex: number;
142
- skillCursor: number;
143
- };
144
- export declare function getRequestedAction({ actionCursor, canDelete, focus, input, keyReturn, }: {
145
- actionCursor: number;
146
- canDelete: boolean;
147
- focus: FocusPane;
148
- input: string;
149
- keyReturn: boolean;
150
- }): ActionName | undefined;
151
- export declare function buildProjectionWarningMap({ drafts, summaries, sourceId, }: {
152
- drafts: Record<string, DraftBinding>;
153
- summaries: WorkflowSummary[];
154
- sourceId: string;
155
- }): ProjectionWarningMap;
156
- export declare function buildScrollableRows<T extends PaneRow>(items: T[], cursorIndex: number, visibleCount: number, keyPrefix?: string, reserveHintSlots?: boolean): WindowedRows<T | PaneRow>;
157
- export declare function ConfigApp({ app, availableTargets, summaries, initialDrafts, bootStatus, }: ConfigAppProps): import("react/jsx-runtime").JSX.Element;
158
- export declare function ConfigBootstrapApp({ app }: {
159
- app: SkillFlowApp;
160
- }): import("react/jsx-runtime").JSX.Element;
161
- export declare function buildDetailMetadataRows({ detailWidth, group, summary, }: {
162
- detailWidth: number;
163
- group: ConfigGroup;
164
- summary: WorkflowSummary;
165
- }): PaneRow[];
166
- export declare function buildActionRows({ actionCursor, canRunActions, deleteState, focus, isSelectedDelete, showDeleteAction, updateState, }: {
167
- actionCursor: number;
168
- canRunActions: boolean;
169
- deleteState: DeleteState;
170
- focus: FocusPane;
171
- isSelectedDelete: boolean;
172
- showDeleteAction: boolean;
173
- updateState: UpdateState;
174
- }): PaneRow[];
175
- export declare function buildCommandBar(focus: FocusPane): "[Tab/→] Edit" | "[Enter] Action" | "[Space] Toggle";
176
- export declare function buildFooterHints(focus: FocusPane, canDelete: boolean): "[↑↓] Move [Tab/→] Switch pane [u] Update [d] Delete [q] Exit" | "[↑↓] Move [Tab/→] Switch pane [u] Update [q] Exit" | "[↑↓] Move [Enter] Action [Tab/←/Esc] Back [u] Update [d] Delete" | "[↑↓] Move [Enter] Action [Tab/←/Esc] Back [u] Update" | "[↑↓] Move [Space] Toggle [Tab/←/Esc] Back [u] Update [d] Delete" | "[↑↓] Move [Space] Toggle [Tab/←/Esc] Back [u] Update";
177
- export declare function selectionMarker(state: "empty" | "partial" | "full"): "●" | "○" | "◐";
178
- export {};