@specforge/canary-cli 0.2.2 → 0.2.4
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/tools/index.d.ts.map +1 -1
- package/dist/tools/index.js +2 -130
- package/dist/tools/index.js.map +1 -1
- package/dist/validation/index.d.ts.map +1 -1
- package/dist/validation/index.js +0 -9
- package/dist/validation/index.js.map +1 -1
- package/node_modules/@specforge/api-types/dist/mcp/lifecycle-envelope.d.ts.map +1 -1
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts +1 -1
- package/node_modules/@specforge/api-types/dist/runtime/epic-record.d.ts.map +1 -1
- package/node_modules/@specforge/api-types/dist/runtime/project.d.ts +0 -1
- package/node_modules/@specforge/api-types/dist/runtime/project.d.ts.map +1 -1
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts +1 -1
- package/node_modules/@specforge/api-types/dist/runtime/ticket-record.d.ts.map +1 -1
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts +0 -2
- package/node_modules/@specforge/api-types/dist/stores/i-project-store.d.ts.map +1 -1
- package/node_modules/@specforge/api-types/package.json +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/enums.d.ts.map +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/enums.js +1 -2
- package/node_modules/@specforge/session-types/dist/runtime/enums.js.map +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts +57 -1
- package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.d.ts.map +1 -1
- package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js +25 -1
- package/node_modules/@specforge/session-types/dist/runtime/implementation-session-aggregate.js.map +1 -1
- package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts +3 -0
- package/node_modules/@specforge/session-types/dist/schema/work-session-action.d.ts.map +1 -1
- package/node_modules/@specforge/session-types/dist/schema/work-session-action.js +5 -0
- package/node_modules/@specforge/session-types/dist/schema/work-session-action.js.map +1 -1
- package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts +18 -0
- package/node_modules/@specforge/session-types/dist/schema/work-session.d.ts.map +1 -1
- package/node_modules/@specforge/session-types/dist/schema/work-session.js +14 -0
- package/node_modules/@specforge/session-types/dist/schema/work-session.js.map +1 -1
- package/node_modules/@specforge/session-types/package.json +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts +7 -1
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.d.ts.map +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js +7 -1
- package/node_modules/@specforge/spec-types/dist/schema/planning/planning-type.js.map +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/specification.d.ts.map +1 -1
- package/node_modules/@specforge/spec-types/dist/schema/specification.js +1 -2
- package/node_modules/@specforge/spec-types/dist/schema/specification.js.map +1 -1
- package/node_modules/@specforge/spec-types/package.json +1 -1
- package/package.json +6 -6
- package/src/cli/templates/skills/specforge-orchestrator.md +1 -1
- package/src/cli/templates/skills/specforge-worker.md +1 -1
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAML,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAUhC;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,IAAI,EAAE,
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/tools/index.ts"],"names":[],"mappings":"AACA;;;;;GAKG;AAEH,OAAO,EAAE,SAAS,EAAE,MAAM,yBAAyB,CAAC;AACpD,OAAO,EAML,gBAAgB,EACjB,MAAM,wBAAwB,CAAC;AAUhC;;GAEG;AACH,MAAM,WAAW,IAAI;IACnB,IAAI,EAAE,MAAM,CAAC;IACb,WAAW,EAAE,MAAM,CAAC;IACpB,WAAW,EAAE;QACX,IAAI,EAAE,QAAQ,CAAC;QACf,UAAU,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;QACpC,QAAQ,CAAC,EAAE,MAAM,EAAE,CAAC;KACrB,CAAC;CACH;AAED;;;;GAIG;AACH,wBAAgB,QAAQ,IAAI,IAAI,EAAE,CAshCjC;AAED;;GAEG;AACH,KAAK,WAAW,GAAG,CACjB,SAAS,EAAE,SAAS,EACpB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,KAC1B,OAAO,CAAC,OAAO,CAAC,CAAC;AA6EtB;;;;;GAKG;AACH,wBAAgB,kBAAkB,CAChC,SAAS,EAAE,SAAS,GACnB,MAAM,CAAC,MAAM,EAAE,WAAW,CAAC,CA8S7B;AAiBD;;GAEG;AACH,wBAAgB,iBAAiB,IAAI,IAAI,CAExC;AAED;;;;;;;;GAQG;AACH,wBAAsB,cAAc,CAClC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,OAAO,CAAC,CA4DlB;AAED;;;GAGG;AACH,wBAAsB,kBAAkB,CACtC,SAAS,EAAE,SAAS,EACpB,QAAQ,EAAE,MAAM,EAChB,IAAI,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,EAC7B,KAAK,GAAE,OAAe,GACrB,OAAO,CAAC,OAAO,GAAG,gBAAgB,CAAC,CAOrC;AAGD,OAAO,EACL,eAAe,EACf,QAAQ,EACR,gBAAgB,EAChB,cAAc,EACd,cAAc,EACd,KAAK,gBAAgB,GACtB,MAAM,wBAAwB,CAAC"}
|
package/dist/tools/index.js
CHANGED
|
@@ -398,7 +398,7 @@ Format options:
|
|
|
398
398
|
title: { type: "string", description: "Concise imperative title." },
|
|
399
399
|
description: { type: "string", description: "What this ticket delivers and why." },
|
|
400
400
|
complexity: { type: "string", enum: ["small", "medium", "large", "xlarge"] },
|
|
401
|
-
planningType: { type: "string", enum: ["planning", "on_flight"
|
|
401
|
+
planningType: { type: "string", enum: ["planning", "on_flight"], description: "Changing this rolls the session back to ticket_decomposition to re-score." },
|
|
402
402
|
ticketType: { type: "string", enum: ["implementation", "verification"], description: "Changing this rolls the session back to ticket_decomposition to re-score." },
|
|
403
403
|
epicId: { type: "string", description: "Re-parent the ticket to another epic." },
|
|
404
404
|
order: { type: "integer", description: "Rank hint within the epic." },
|
|
@@ -861,107 +861,6 @@ Set getTicket: true to fetch full ticket details in the response \u2014 useful f
|
|
|
861
861
|
required: ["ticketId", "summary"]
|
|
862
862
|
}
|
|
863
863
|
},
|
|
864
|
-
{
|
|
865
|
-
name: "start_review_session",
|
|
866
|
-
description: 'Start the implementation review lifecycle. Runs the implementation gate and either auto-transitions to "reviewed" (on pass) or transitions to "in_review" with an active ReviewSession (on fail). Creates correction tickets via action_review_session, then call complete_review_session.',
|
|
867
|
-
inputSchema: {
|
|
868
|
-
type: "object",
|
|
869
|
-
properties: {
|
|
870
|
-
specificationId: {
|
|
871
|
-
type: "string",
|
|
872
|
-
description: "The ID of the specification to review (must be in ready_for_review status)"
|
|
873
|
-
}
|
|
874
|
-
},
|
|
875
|
-
required: ["specificationId"]
|
|
876
|
-
}
|
|
877
|
-
},
|
|
878
|
-
{
|
|
879
|
-
name: "action_review_session",
|
|
880
|
-
description: 'Address findings in an active review session. Create correction tickets inline or dismiss findings with justification. Only available when specification is in "in_review" status.',
|
|
881
|
-
inputSchema: {
|
|
882
|
-
type: "object",
|
|
883
|
-
properties: {
|
|
884
|
-
specificationId: {
|
|
885
|
-
type: "string",
|
|
886
|
-
description: "The ID of the specification"
|
|
887
|
-
},
|
|
888
|
-
reviewSessionId: {
|
|
889
|
-
type: "string",
|
|
890
|
-
description: "The review session ID (auto-detected if omitted)"
|
|
891
|
-
},
|
|
892
|
-
findingsAddressed: {
|
|
893
|
-
type: "array",
|
|
894
|
-
description: "Findings to address in this action",
|
|
895
|
-
items: {
|
|
896
|
-
type: "object",
|
|
897
|
-
properties: {
|
|
898
|
-
findingId: {
|
|
899
|
-
type: "string",
|
|
900
|
-
description: "The finding ID to address"
|
|
901
|
-
},
|
|
902
|
-
action: {
|
|
903
|
-
type: "string",
|
|
904
|
-
enum: ["correction_ticket", "dismissed"],
|
|
905
|
-
description: "How to address the finding"
|
|
906
|
-
},
|
|
907
|
-
correctionTicket: {
|
|
908
|
-
type: "object",
|
|
909
|
-
description: "Inline ticket creation params (required for correction_ticket action)",
|
|
910
|
-
properties: {
|
|
911
|
-
epicId: { type: "string", description: "Epic to add the correction ticket to" },
|
|
912
|
-
title: { type: "string", description: "Ticket title" },
|
|
913
|
-
description: { type: "string", description: "Ticket description" },
|
|
914
|
-
ticketType: { type: "string", enum: ["implementation", "verification"], description: "Ticket type \u2014 defaults to implementation." },
|
|
915
|
-
complexity: { type: "string", enum: ["small", "medium", "large", "xlarge"] },
|
|
916
|
-
estimatedMinutes: { type: "integer", minimum: 0 },
|
|
917
|
-
acceptanceCriteria: { type: "array", items: { type: "string" } },
|
|
918
|
-
implementationSteps: { type: "array", items: { type: "string" }, description: "Implementation steps; persisted as TicketImplementationStep rows" },
|
|
919
|
-
tags: { type: "array", items: { type: "string" } }
|
|
920
|
-
},
|
|
921
|
-
required: ["epicId", "title"]
|
|
922
|
-
},
|
|
923
|
-
justification: {
|
|
924
|
-
type: "string",
|
|
925
|
-
description: 'Required justification when action is "dismissed"'
|
|
926
|
-
}
|
|
927
|
-
},
|
|
928
|
-
required: ["findingId", "action"]
|
|
929
|
-
}
|
|
930
|
-
},
|
|
931
|
-
notes: {
|
|
932
|
-
type: "string",
|
|
933
|
-
description: "Optional notes for this review action"
|
|
934
|
-
}
|
|
935
|
-
},
|
|
936
|
-
required: ["specificationId"]
|
|
937
|
-
}
|
|
938
|
-
},
|
|
939
|
-
{
|
|
940
|
-
name: "complete_review_session",
|
|
941
|
-
description: 'Complete an active review session. All error-severity findings must be addressed. If correction tickets exist, transitions to "in_progress". If all findings dismissed, triggers user confirmation flow.',
|
|
942
|
-
inputSchema: {
|
|
943
|
-
type: "object",
|
|
944
|
-
properties: {
|
|
945
|
-
specificationId: {
|
|
946
|
-
type: "string",
|
|
947
|
-
description: "The ID of the specification"
|
|
948
|
-
},
|
|
949
|
-
reviewSessionId: {
|
|
950
|
-
type: "string",
|
|
951
|
-
description: "The review session ID (auto-detected if omitted)"
|
|
952
|
-
},
|
|
953
|
-
summary: {
|
|
954
|
-
type: "string",
|
|
955
|
-
description: "Optional completion summary"
|
|
956
|
-
},
|
|
957
|
-
confirmAllDismissed: {
|
|
958
|
-
type: "boolean",
|
|
959
|
-
description: "Set to true when all findings were dismissed to trigger user confirmation flow"
|
|
960
|
-
}
|
|
961
|
-
},
|
|
962
|
-
required: ["specificationId"]
|
|
963
|
-
}
|
|
964
|
-
},
|
|
965
864
|
{
|
|
966
865
|
name: "reopen_specification",
|
|
967
866
|
description: 'Reopen a specification in "ready" status, regressing to "planning". Use when action_planning_session reports the spec is no longer in planning. After reopening, call start_planning_session to begin a new planning session.',
|
|
@@ -1130,10 +1029,7 @@ Set getTicket: true to fetch full ticket details in the response \u2014 useful f
|
|
|
1130
1029
|
const IN_DEVELOPMENT_PLANNED_FOR = {
|
|
1131
1030
|
start_work_session: "0.2.0",
|
|
1132
1031
|
action_work_session: "0.2.0",
|
|
1133
|
-
complete_work_session: "0.2.0"
|
|
1134
|
-
start_review_session: "0.3.0",
|
|
1135
|
-
action_review_session: "0.3.0",
|
|
1136
|
-
complete_review_session: "0.3.0"
|
|
1032
|
+
complete_work_session: "0.2.0"
|
|
1137
1033
|
};
|
|
1138
1034
|
for (const t of tools) {
|
|
1139
1035
|
const plannedFor = IN_DEVELOPMENT_PLANNED_FOR[t.name];
|
|
@@ -1383,30 +1279,6 @@ function createToolHandlers(apiClient) {
|
|
|
1383
1279
|
...commitSha !== null && { commitSha }
|
|
1384
1280
|
});
|
|
1385
1281
|
},
|
|
1386
|
-
start_review_session: async (_client, args) => {
|
|
1387
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1388
|
-
return await callLocal("start_review_session", {
|
|
1389
|
-
specificationId: argsWithContext.specificationId
|
|
1390
|
-
});
|
|
1391
|
-
},
|
|
1392
|
-
action_review_session: async (_client, args) => {
|
|
1393
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1394
|
-
return await callLocal("action_review_session", {
|
|
1395
|
-
specificationId: argsWithContext.specificationId,
|
|
1396
|
-
reviewSessionId: args.reviewSessionId,
|
|
1397
|
-
findingsAddressed: args.findingsAddressed,
|
|
1398
|
-
notes: args.notes
|
|
1399
|
-
});
|
|
1400
|
-
},
|
|
1401
|
-
complete_review_session: async (_client, args) => {
|
|
1402
|
-
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1403
|
-
return await callLocal("complete_review_session", {
|
|
1404
|
-
specificationId: argsWithContext.specificationId,
|
|
1405
|
-
reviewSessionId: args.reviewSessionId,
|
|
1406
|
-
summary: args.summary,
|
|
1407
|
-
confirmAllDismissed: args.confirmAllDismissed
|
|
1408
|
-
});
|
|
1409
|
-
},
|
|
1410
1282
|
reopen_specification: async (_client, args) => {
|
|
1411
1283
|
const argsWithContext = injectContextRequired(args, ["specificationId"]);
|
|
1412
1284
|
return await callLocal("reopen_specification", {
|