@flowdesk/core 0.1.4 → 0.1.6
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/chat-routing.d.ts
CHANGED
|
@@ -6,6 +6,7 @@ export interface FlowDeskChatRoutingInputV1 {
|
|
|
6
6
|
hookHarnessMode?: HookHarnessModeV1;
|
|
7
7
|
steeringEvidenceRef?: OpaqueRef;
|
|
8
8
|
redactedIntakeRef?: OpaqueRef;
|
|
9
|
+
planningDocumentAvailable?: boolean;
|
|
9
10
|
}
|
|
10
11
|
export interface FlowDeskChatRoutingEvaluationV1 extends ValidationResult {
|
|
11
12
|
response: FlowDeskChatIntakeResponseV1;
|
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-routing.d.ts","sourceRoot":"","sources":["../src/chat-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,SAAS,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,2BAA2B,CAAC;IACrC,cAAc,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAC/C,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-routing.d.ts","sourceRoot":"","sources":["../src/chat-routing.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EACV,gBAAgB,EAChB,2BAA2B,EAC3B,4BAA4B,EAC5B,iBAAiB,EACjB,SAAS,EAEV,MAAM,yBAAyB,CAAC;AACjC,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,iBAAiB,CAAC;AAGxD,MAAM,WAAW,0BAA0B;IACzC,OAAO,EAAE,2BAA2B,CAAC;IACrC,cAAc,CAAC,EAAE,gBAAgB,GAAG,UAAU,CAAC;IAC/C,eAAe,CAAC,EAAE,iBAAiB,CAAC;IACpC,mBAAmB,CAAC,EAAE,SAAS,CAAC;IAChC,iBAAiB,CAAC,EAAE,SAAS,CAAC;IAC9B,yBAAyB,CAAC,EAAE,OAAO,CAAC;CACrC;AAED,MAAM,WAAW,+BAAgC,SAAQ,gBAAgB;IACvE,QAAQ,EAAE,4BAA4B,CAAC;CACxC;AA4LD,wBAAgB,iCAAiC,CAAC,KAAK,EAAE,0BAA0B,GAAG,4BAA4B,CAcjH;AAED,wBAAgB,4BAA4B,CAAC,KAAK,EAAE,0BAA0B,GAAG,+BAA+B,CAK/G"}
|
package/dist/chat-routing.js
CHANGED
|
@@ -6,6 +6,7 @@ const executionLikePattern = /\b(?:run|execute|start|kick[\s_-]*off|launch)\b.{0
|
|
|
6
6
|
const explicitApprovalPattern = /\b(?:approve(?:d)?|confirm(?:ed)?|yes|proceed|go ahead|ok(?:ay)?|sure|sounds good)\b|(?:승인|확인|동의|좋아|네|예|오케이|진행\s*(?:해|하|하세요)|실행\s*(?:해|하|하세요)|그렇게\s*해|해주세요)/i;
|
|
7
7
|
const clarificationPattern = /\b(maybe|not sure|unclear|something|stuff|thing|help me with it|continue this|kinda|sort of|whatever)\b|(?:잘\s*모르(?:겠|겠어)|애매|뭐였|뭔가|어떻게\s*해(?:야)?|뭐\s*해야|아무거나|적당히|대충)/i;
|
|
8
8
|
const proactiveUsagePreflightPattern = /\b(?:large|big|long|multi[\s_-]*step|multi[\s_-]*perspective|multi[\s_-]*model|extensive|whole|entire|full[\s_-]*(?:pass|review|refactor)|many files|agentic loop|autonomous|refactor|migration|audit|review)\b|(?:큰\s*작업|대규모|장시간|오래\s*걸|전체|전부|다관점|다각도|멀티\s*(?:모델|관점)|여러\s*관점|리팩토링|마이그레이션|긴\s*작업|전체\s*완료|끝까지|심층\s*(?:리뷰|검토|분석))/i;
|
|
9
|
+
const continuousWorkPattern = /\b(?:continue\s+(?:if\s+you\s+have\s+next\s+steps|until\s+blocked|with\s+the\s+(?:plan|design)|the\s+(?:whole|entire)\s+(?:plan|design)|working)|keep\s+(?:going|working)|work\s+through\s+the\s+(?:whole\s+)?(?:plan|design)|proceed\s+(?:with\s+)?(?:the\s+)?(?:whole|entire)?\s*(?:plan|design)|do\s+not\s+stop\s+until\s+blocked|don'?t\s+stop\s+until\s+blocked)\b|(?:계획\s*(?:전체|전부)?\s*(?:진행|계속|이어)|전체\s*(?:계획|설계|설계문서)\s*(?:진행|계속|기반)|설계\s*(?:문서)?\s*(?:기반|대로)\s*(?:계속|진행)|막히기\s*전까지|막히기전까지|막히지\s*않으면\s*(?:계속|진행)|계속\s*(?:진행|작업|이어|해줘)|전부\s*계속|다\s*끝날\s*때까지|다음\s*작업\s*(?:등록|이어)|끊기지\s*않게)/i;
|
|
9
10
|
const commandRoutes = [
|
|
10
11
|
[/\b(?:show|current|check|get|what(?:'s| is)|how(?:'s| is) (?:it|things))\b.{0,40}\b(?:status|progress|state|checkpoint|workflow|lane|attempt|heartbeat)\b|\bflowdesk-status\b|\b(?:is\s+(?:it|this|that)\s+stuck|seems?\s+stuck|stalled|no\s+log|no\s+update|no\s+response|frozen|hung|hanging|silent|heartbeat\s+(?:status|check)|recent\s+heartbeat|lane\s+heartbeat|last\s+heartbeat)\b|(?:상태|진행\s*상황|진행\s*상태|어디까지|어디 까지|어디쯤|현재\s*상태|현재\s*진행|작업\s*상태|작업\s*어디까지|workflow\s*상태|멈췄|멈춘\s*것\s*같|멈춘\s*거\s*같|응답이\s*없|아무\s*로그도\s*없|로그가\s*없|진행이\s*안돼|진행이\s*안\s*돼|꼼짝\s*안|먹통|하트\s*비트|하트비트|심장\s*박동|심박|진행\s*신호|진행\s*표시|레인\s*상태|레인\s*진행|살아\s*있|최근\s*heartbeat|마지막\s*heartbeat)/i, ["/flowdesk-status"]],
|
|
11
12
|
[/\b(usage|quota|limit|rate[\s_-]*limit|reset(?:s)?|remaining|budget|credits?|tokens? left|how (?:much|many) (?:tokens?|requests?|usage|left|remaining))\b|(?:사용량|잔량|남은\s*(?:사용량|토큰|요청|쿼터|크레딧|예산)|남은(?:거|것)?\s*얼마|얼마\s*남(?:았|아|아서)|쿼터|한도|리셋|사용\s*가능량|쓸\s*수\s*있|토큰\s*남은|크레딧)/i, ["/flowdesk-usage", "/flowdesk-doctor"]],
|
|
@@ -117,6 +118,30 @@ function confirmedExecutionResponse(input) {
|
|
|
117
118
|
route_decision: "use_command_fallback"
|
|
118
119
|
};
|
|
119
120
|
}
|
|
121
|
+
function continuousWorkResponse(input) {
|
|
122
|
+
return {
|
|
123
|
+
schema_version: "flowdesk.chat_intake.response.v1",
|
|
124
|
+
ok: true,
|
|
125
|
+
status: "ready",
|
|
126
|
+
safe_next_actions: ["/flowdesk-resume", "/flowdesk-status"],
|
|
127
|
+
user_message: "FlowDesk can continue this plan-backed workflow until the next blocker or clarification point.",
|
|
128
|
+
classification: "managed_plan",
|
|
129
|
+
redacted_intake_ref: redactedIntakeRef(input),
|
|
130
|
+
route_decision: "use_command_fallback"
|
|
131
|
+
};
|
|
132
|
+
}
|
|
133
|
+
function continuousWorkNeedsPlanResponse(input) {
|
|
134
|
+
return {
|
|
135
|
+
schema_version: "flowdesk.chat_intake.response.v1",
|
|
136
|
+
ok: true,
|
|
137
|
+
status: "needs_clarification",
|
|
138
|
+
safe_next_actions: ["ask_clarification", "/flowdesk-status"],
|
|
139
|
+
user_message: "FlowDesk needs an existing plan or design document before continuing work autonomously.",
|
|
140
|
+
classification: "clarify",
|
|
141
|
+
redacted_intake_ref: redactedIntakeRef(input),
|
|
142
|
+
route_decision: "ask_clarification"
|
|
143
|
+
};
|
|
144
|
+
}
|
|
120
145
|
function hasTypedExecutionApproval(input, summary) {
|
|
121
146
|
return input.request.user_approval_ref !== undefined && explicitApprovalPattern.test(summary);
|
|
122
147
|
}
|
|
@@ -156,6 +181,8 @@ export function buildFlowDeskChatIntakeResponseV1(input) {
|
|
|
156
181
|
const summary = input.request.intake_summary;
|
|
157
182
|
if (unsafeLaterGatePattern.test(summary))
|
|
158
183
|
return blockedResponse(input);
|
|
184
|
+
if (continuousWorkPattern.test(summary))
|
|
185
|
+
return input.planningDocumentAvailable === true ? continuousWorkResponse(input) : continuousWorkNeedsPlanResponse(input);
|
|
159
186
|
if (executionLikePattern.test(summary))
|
|
160
187
|
return hasTypedExecutionApproval(input, summary) ? confirmedExecutionResponse(input) : executionConfirmationResponse(input);
|
|
161
188
|
const command = commandRoutes.find(([pattern]) => pattern.test(summary));
|
package/dist/chat-routing.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"chat-routing.js","sourceRoot":"","sources":["../src/chat-routing.ts"],"names":[],"mappings":"AASA,OAAO,EAAE,OAAO,EAAE,KAAK,EAAE,2BAA2B,EAAE,4BAA4B,EAAE,iBAAiB,EAAE,MAAM,iBAAiB,CAAC;
|
|
1
|
+
{"version":3,"file":"chat-routing.js","sourceRoot":"","sources":["../src/chat-routing.ts"],"names":[],"mappings":"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"}
|