@telora/mcp-products 0.22.159 → 0.22.166

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.
@@ -29,16 +29,16 @@ const FOCUS_AFFORDANCES = [
29
29
  },
30
30
  {
31
31
  name: 'review_complete',
32
- description: 'Terminal action for a review agent. Writes a focus_reviews row with outcome + summary + created issue references and stamps focus.last_reviewed_at and focus.last_review_outcome atomically.',
32
+ description: 'Terminal action for a review agent. Writes a focus_reviews row with outcome + summary + created issue references and stamps focus.last_reviewed_at and focus.last_review_outcome atomically. A finding blocks only when a not_met criterion names it (acVerdicts[].issueIds); everything else the review files is recorded as a concern; a review whose verdicts cover every criterion with none not_met is recorded as approved.',
33
33
  primary: {
34
34
  tool: 'telora_product_focus',
35
35
  action: 'review_complete',
36
- bodyShape: '{ focusId: string; action: "review_complete"; outcome: "approved" | "gaps_found"; summary: string; agentSessionId: string; acVerdicts?: { criterion: string; verdict: "met" | "not_met" | "excused"; rationale?: string; reviewSessionId?: string }[]; createdIssueIds?: string[]; startedAt?: string }',
36
+ bodyShape: '{ focusId: string; action: "review_complete"; outcome: "approved" | "gaps_found"; summary: string; agentSessionId: string; acVerdicts?: { criterion: string; verdict: "met" | "not_met" | "excused"; rationale?: string; reviewSessionId?: string; issueIds?: string[] }[]; createdIssueIds?: string[]; startedAt?: string }',
37
37
  },
38
38
  fallback: {
39
39
  endpoint: PRODUCT_API_ENDPOINT,
40
40
  action: 'focus_review_complete',
41
- bodyShape: '{ action: "focus_review_complete"; focusId: string; fields: { outcome: "approved" | "gaps_found"; summary: string; agentSessionId: string; acVerdicts?: { criterion: string; verdict: "met" | "not_met" | "excused"; rationale?: string; reviewSessionId?: string }[]; createdIssueIds?: string[]; startedAt?: string } }',
41
+ bodyShape: '{ action: "focus_review_complete"; focusId: string; fields: { outcome: "approved" | "gaps_found"; summary: string; agentSessionId: string; acVerdicts?: { criterion: string; verdict: "met" | "not_met" | "excused"; rationale?: string; reviewSessionId?: string; issueIds?: string[] }[]; createdIssueIds?: string[]; startedAt?: string } }',
42
42
  },
43
43
  },
44
44
  {
@@ -1 +1 @@
1
- {"version":3,"file":"affordances.js","sourceRoot":"","sources":["../src/affordances.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"affordances.js","sourceRoot":"","sources":["../src/affordances.ts"],"names":[],"mappings":"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"}
@@ -147,6 +147,7 @@ export declare const focusToolSchema: {
147
147
  }>;
148
148
  rationale: z.ZodOptional<z.ZodString>;
149
149
  reviewSessionId: z.ZodOptional<z.ZodString>;
150
+ issueIds: z.ZodOptional<z.ZodArray<z.ZodString>>;
150
151
  }, z.core.$strip>>>;
151
152
  clearReviewRequest: z.ZodOptional<z.ZodBoolean>;
152
153
  ratify: z.ZodOptional<z.ZodBoolean>;
@@ -211,6 +212,7 @@ type FocusToolParams = {
211
212
  verdict: "met" | "not_met" | "excused";
212
213
  rationale?: string;
213
214
  reviewSessionId?: string;
215
+ issueIds?: string[];
214
216
  }>;
215
217
  clearReviewRequest?: boolean;
216
218
  ratify?: boolean;
@@ -134,7 +134,9 @@ export const FOCUS_TOOL_DESCRIPTION = "Execution roadmap: group deliveries into
134
134
  "retrospective_run (execute a pending retrospective via LLM), " +
135
135
  "retrospective_list (list retrospectives for a focus), " +
136
136
  "retrospective_get (get a single retrospective by ID), " +
137
- "review_complete (terminal action for a review agent: writes a focus_reviews row with outcome + summary + references, and updates focus.last_reviewed_at and focus.last_review_outcome), " +
137
+ "review_complete (terminal action for a review agent: writes a focus_reviews row with outcome + summary + references, and updates focus.last_reviewed_at and focus.last_review_outcome. " +
138
+ "A finding blocks only when a not_met criterion names it (acVerdicts[].issueIds); everything else the review files is recorded as a concern; " +
139
+ "a review whose verdicts cover every criterion with none not_met is recorded as approved), " +
138
140
  "review_list (read completed focus reviews back, newest first, with the decisions taken under uncertainty each one recorded -- question, options, chosen, why reversible, what changes if the human decides otherwise; scope by focusId, productId, or omit both for the whole organization; carries the decision-record rate: the share of completed reviews that recorded at least one resolved fork), " +
139
141
  "review_get (read one focus review by focusReviewId: full summary plus its decisions rendered for a human), " +
140
142
  "criteria_standing (the focus's FLOOR, read without running a review: what this focus is FOR, from BOTH " +
@@ -252,6 +254,11 @@ export const focusToolSchema = {
252
254
  verdict: z.enum(["met", "not_met", "excused"]),
253
255
  rationale: z.string().optional(),
254
256
  reviewSessionId: z.string().uuid().optional(),
257
+ issueIds: z
258
+ .array(z.string().uuid())
259
+ .optional()
260
+ .describe("not_met verdicts only: the UUIDs of the issues (on this focus) that record the gap this criterion " +
261
+ "falsifies. These -- and only these -- are the review's BLOCKING findings. Refused on met/excused."),
255
262
  }))
256
263
  .optional()
257
264
  .describe("Per-acceptance-criterion verdicts folded into the focus review. REQUIRED for review_complete when " +
@@ -268,7 +275,13 @@ export const focusToolSchema = {
268
275
  "times as the tree states it (entries are keyed onto their nodes in the arm's stamped seq order). " +
269
276
  "The refusal names each uncovered tree criterion with its node id, which is what distinguishes them. " +
270
277
  "`not_met` requires a rationale naming the gap " +
271
- "and blocks an approved review. `excused` waives the criterion (lowers a bar) and requires BOTH a " +
278
+ "and blocks an approved review; name the issue(s) that record the gap in its issueIds. " +
279
+ "A FINDING BLOCKS ONLY WHEN A not_met CRITERION NAMES IT: an issue listed in a not_met verdict's " +
280
+ "issueIds is recorded as blocking (it sends its delivery back to coding); every other issue the " +
281
+ "review files is recorded as a CONCERN -- it stays open but routes nothing. A review whose verdicts " +
282
+ "cover every criterion with none not_met is recorded as APPROVED whatever outcome you sent. A " +
283
+ "gaps_found with no not_met verdict is refused while any criterion still lacks a verdict. " +
284
+ "`excused` waives the criterion (lowers a bar) and requires BOTH a " +
272
285
  "non-empty rationale AND reviewSessionId set to your review session id -- the same separation of " +
273
286
  "duties a ratified shortfall requires. An unmet criterion is named, never absorbed into the summary; " +
274
287
  "omit only when the focus has no acceptance criteria."),
@@ -1 +1 @@
1
- {"version":3,"file":"focusHandlers.js","sourceRoot":"","sources":["../../src/handlers/focusHandlers.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"focusHandlers.js","sourceRoot":"","sources":["../../src/handlers/focusHandlers.ts"],"names":[],"mappings":"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"}
@@ -30,3 +30,4 @@ export { registerEndpointTools, handleEndpointTool } from "./endpointHandlers.js
30
30
  export { registerServiceDefinitionTools, handleServiceDefinitionTool } from "./serviceDefinitionHandlers.js";
31
31
  export { registerStarterRepoTools, handleStarterRepoTool } from "./starterRepoHandlers.js";
32
32
  export { registerCodeObservationTools, handleCodeObservationCreate } from "./codeObservationHandlers.js";
33
+ export { registerMigrationClaimTools, handleMigrationClaim } from "./migrationClaimHandlers.js";
@@ -33,4 +33,5 @@ export { registerEndpointTools, handleEndpointTool } from "./endpointHandlers.js
33
33
  export { registerServiceDefinitionTools, handleServiceDefinitionTool } from "./serviceDefinitionHandlers.js";
34
34
  export { registerStarterRepoTools, handleStarterRepoTool } from "./starterRepoHandlers.js";
35
35
  export { registerCodeObservationTools, handleCodeObservationCreate } from "./codeObservationHandlers.js";
36
+ export { registerMigrationClaimTools, handleMigrationClaim } from "./migrationClaimHandlers.js";
36
37
  //# sourceMappingURL=index.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC"}
1
+ {"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/handlers/index.ts"],"names":[],"mappings":"AAAA,8EAA8E;AAC9E,uDAAuD;AACvD,8EAA8E;AAE9E,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,yBAAyB,EAAE,MAAM,2BAA2B,CAAC;AACtE,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,+BAA+B,EAAE,MAAM,iCAAiC,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,uBAAuB,EAAE,MAAM,yBAAyB,CAAC;AAClE,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,kBAAkB,EAAE,MAAM,oBAAoB,CAAC;AACxD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,sBAAsB,EAAE,MAAM,wBAAwB,CAAC;AAChE,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,2BAA2B,EAAE,MAAM,sBAAsB,CAAC;AACnE,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,8BAA8B,EAAE,MAAM,gCAAgC,CAAC;AAChF,OAAO,EAAE,2BAA2B,EAAE,MAAM,6BAA6B,CAAC;AAC1E,OAAO,EAAE,mBAAmB,EAAE,MAAM,qBAAqB,CAAC;AAC1D,OAAO,EAAE,iBAAiB,EAAE,2BAA2B,EAAE,8BAA8B,EAAE,MAAM,mBAAmB,CAAC;AACnH,OAAO,EAAE,iBAAiB,EAAE,MAAM,mBAAmB,CAAC;AACtD,OAAO,EAAE,oBAAoB,EAAE,MAAM,sBAAsB,CAAC;AAC5D,OAAO,EAAE,wBAAwB,EAAE,MAAM,0BAA0B,CAAC;AACpE,OAAO,EACL,sCAAsC,EACtC,gCAAgC,GACjC,MAAM,wCAAwC,CAAC;AAChD,OAAO,EAAE,qBAAqB,EAAE,MAAM,uBAAuB,CAAC;AAC9D,OAAO,EAAE,gBAAgB,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACrE,OAAO,EAAE,2BAA2B,EAAE,0BAA0B,EAAE,MAAM,6BAA6B,CAAC;AACtG,OAAO,EAAE,qBAAqB,EAAE,kBAAkB,EAAE,MAAM,uBAAuB,CAAC;AAClF,OAAO,EAAE,8BAA8B,EAAE,2BAA2B,EAAE,MAAM,gCAAgC,CAAC;AAC7G,OAAO,EAAE,wBAAwB,EAAE,qBAAqB,EAAE,MAAM,0BAA0B,CAAC;AAC3F,OAAO,EAAE,4BAA4B,EAAE,2BAA2B,EAAE,MAAM,8BAA8B,CAAC;AACzG,OAAO,EAAE,2BAA2B,EAAE,oBAAoB,EAAE,MAAM,6BAA6B,CAAC"}
@@ -0,0 +1,17 @@
1
+ import type { McpServer } from "@modelcontextprotocol/sdk/server/mcp.js";
2
+ import { type ObservationOutcome } from "./migrationObservation.js";
3
+ import { successResult, validationError, type GetCreds, type ToolProfile } from "../shared.js";
4
+ export interface MigrationClaimParams {
5
+ productId?: string;
6
+ focusId?: string;
7
+ tag?: string;
8
+ agentSessionId?: string;
9
+ }
10
+ export declare function handleMigrationClaim(params: MigrationClaimParams, callApi: (body: Record<string, unknown>) => Promise<unknown>,
11
+ /**
12
+ * What THIS repository holds right now. Sent with the claim so the grant is
13
+ * made against a view taken at grant time, not only against the snapshot the
14
+ * daemon published earlier -- see migrationObservation.ts. Injected for tests.
15
+ */
16
+ observe?: () => ObservationOutcome): Promise<ReturnType<typeof successResult> | ReturnType<typeof validationError>>;
17
+ export declare function registerMigrationClaimTools(server: McpServer, getCreds: GetCreds, _profile?: ToolProfile): void;
@@ -0,0 +1,217 @@
1
+ // ---------------------------------------------------------------------------
2
+ // Migration-number claim tool (consolidated):
3
+ // telora_product_migration (claim | list)
4
+ //
5
+ // THE RULE THIS TOOL EXISTS TO MAKE POSSIBLE: a migration number is claimed
6
+ // once, through Telora, BEFORE the file is named. Never read from your own
7
+ // worktree.
8
+ //
9
+ // Why: two focuses armed concurrently on one product each work in their own
10
+ // worktree, cut from the same base. A team that picks the next number by
11
+ // reading the highest one it can see picks the same number its sibling just
12
+ // picked. Measured 2026-09-22 on Tinker Tailor: from base 0351, two armed
13
+ // focuses both authored 0352, 0353, 0354 and 0355. Git sees no conflict (the
14
+ // files have different names), the merge admits it, and the breakage appears
15
+ // only when the migrations are applied in order -- after which repairing it is
16
+ // a renumber of every file plus the journal tail plus every reference.
17
+ //
18
+ // The number is granted from the union of what integration holds, what every
19
+ // live focus branch holds, and every outstanding claim -- none of which a
20
+ // single worktree can see. The grant is atomic at the database, so two teams
21
+ // claiming in the same instant cannot receive one number.
22
+ // ---------------------------------------------------------------------------
23
+ import { z } from "zod";
24
+ import { observeLocalMigrations } from "./migrationObservation.js";
25
+ import { callProductApi, successResult, validationError, wrapHandler, LIST_INDEX_NOTE, } from "../shared.js";
26
+ export async function handleMigrationClaim(params, callApi,
27
+ /**
28
+ * What THIS repository holds right now. Sent with the claim so the grant is
29
+ * made against a view taken at grant time, not only against the snapshot the
30
+ * daemon published earlier -- see migrationObservation.ts. Injected for tests.
31
+ */
32
+ observe = observeLocalMigrations) {
33
+ if (!params.productId)
34
+ return validationError("productId required for claim");
35
+ const contested = [];
36
+ for (let attempt = 1; attempt <= MAX_CLAIM_ATTEMPTS; attempt += 1) {
37
+ // WHAT THIS REPOSITORY HOLDS -- and, when it cannot say, saying so instead
38
+ // of saying nothing.
39
+ //
40
+ // Ordinals are additive: they only ever join the taken set, so they can
41
+ // raise the granted number and can never make two teams share one. The
42
+ // report of what could NOT be read is not additive evidence at all -- it
43
+ // tells the allocator the view is partial -- so it is sent whole, even when
44
+ // the refs that WERE read happened to hold nothing.
45
+ //
46
+ // An INCOMPLETE reading is refused HERE rather than sent. There is nothing
47
+ // useful to transmit: the fields would describe a subset of the repository
48
+ // with no way for the handler to know what is missing, and the handler's
49
+ // own fallback -- grant against the daemon's older leased snapshot -- is
50
+ // exactly the window this reader exists to close. A refusal is retryable; a
51
+ // number granted twice is not.
52
+ const observed = observe();
53
+ if (observed.kind === "incomplete")
54
+ return refuseIncomplete(observed.reason);
55
+ const body = {
56
+ action: "migration_claim_create",
57
+ productId: params.productId,
58
+ };
59
+ if (observed.kind === "observed") {
60
+ const { observation } = observed;
61
+ body.observedHeld = observation.observedHeld;
62
+ body.observedRefs = observation.observedRefs;
63
+ body.observedAt = observation.observedAt;
64
+ body.observedUnreadable = observation.observedUnreadable;
65
+ body.observedTips = observation.observedTips;
66
+ }
67
+ else {
68
+ // GENUINELY NOTHING TO OBSERVE -- no repository, or a product that
69
+ // declares no numbering. Declared explicitly so the handler can tell a
70
+ // deliberate omission from a claimant that simply sent no fields; the two
71
+ // used to be the same wire message.
72
+ body.observationScope = observed.reason;
73
+ }
74
+ if (params.focusId !== undefined)
75
+ body.focusId = params.focusId;
76
+ if (params.tag !== undefined)
77
+ body.tag = params.tag;
78
+ if (params.agentSessionId !== undefined)
79
+ body.agentSessionId = params.agentSessionId;
80
+ const result = await callApi(body);
81
+ const ordinal = String(result.claim.ordinal);
82
+ // ─── THE BARRIER ─────────────────────────────────────────────────────────
83
+ //
84
+ // THE WINDOW THIS CLOSES. Everything above bounds the reading; nothing
85
+ // above makes it hold THROUGH the insert. The scan ends, the request
86
+ // crosses the network, the row is inserted -- and in those hundreds of
87
+ // milliseconds a sibling worktree can commit a migration it never claimed.
88
+ // The number just granted is then one a branch already holds, and no party
89
+ // to the grant could have known: the handler has no git, and this process
90
+ // had already stopped looking.
91
+ //
92
+ // So it looks AGAIN, after the grant, and asks the one question that
93
+ // matters: is the number I was given still free on every branch? A grant
94
+ // that fails that check is not returned. The next attempt re-reads, and
95
+ // that reading now CONTAINS the sibling's ordinal, so the allocator is
96
+ // asked for a number above it.
97
+ //
98
+ // This does not make the grant atomic against the repository -- nothing on
99
+ // either side of the boundary can be, because a commit that does not exist
100
+ // yet is unobservable. What it does is make the unobservable interval
101
+ // bounded and CHECKED: a number that lost the race is detected and
102
+ // discarded rather than handed to a team that writes a file at it.
103
+ //
104
+ // THE LOSING CLAIM IS LEFT STANDING, deliberately. Its ordinal really is
105
+ // taken -- by the sibling's unclaimed file -- so releasing it would offer
106
+ // that number to a third team. It stays until the lifecycle releases it
107
+ // with its focus, and the file that took it is named to the team that wrote
108
+ // it by the unclaimed-migration record.
109
+ if (observed.kind !== "observed")
110
+ return granted(result, params);
111
+ const after = observe();
112
+ if (after.kind !== "observed") {
113
+ // LOSS OF VERIFICATION, NOT PROOF OF FREEDOM.
114
+ //
115
+ // The pre-grant reading was complete, so this process WAS in a declared
116
+ // repository moments ago. A second reading that now answers `incomplete`
117
+ // -- or `not_applicable`, which after a complete one means a transient
118
+ // `rev-parse` failure or a declaration that just disappeared -- has not
119
+ // established that the number still is free. It has established that
120
+ // nothing can currently say.
121
+ //
122
+ // Returning the ordinal there is the barrier declaring success on the
123
+ // strength of its own failure. The claim ROW stays (its ordinal may well
124
+ // be taken, and releasing it would offer that number to a third team),
125
+ // but the caller is refused and retries.
126
+ const reason = after.kind === "incomplete"
127
+ ? after.reason
128
+ : `the repository stopped being readable mid-claim (${after.reason})`;
129
+ return refuseIncomplete(`${reason} -- a number was granted and could NOT be confirmed still free`);
130
+ }
131
+ if (!after.observation.observedHeld.includes(ordinal)) {
132
+ return granted(result, params);
133
+ }
134
+ contested.push(ordinal);
135
+ }
136
+ return validationError(`Cannot claim a migration number: ${contested.length} grant(s) `
137
+ + `(${contested.join(", ")}) were each taken by a branch between the reading they were `
138
+ + `made against and the moment they were granted. That is a sibling writing migrations `
139
+ + `without claiming them -- the rule this tool exists to enforce -- rather than ordinary `
140
+ + `contention. Find the unclaimed files on the other branches before retrying.`);
141
+ }
142
+ /** How many times a grant may lose the scan-to-insert race before refusing. */
143
+ const MAX_CLAIM_ATTEMPTS = 3;
144
+ /** The refusal for a reading that could not be completed. */
145
+ function refuseIncomplete(reason) {
146
+ return validationError(`Cannot claim a migration number: this repository could not be read completely `
147
+ + `(${reason}). The claim is not attempted, because granting against a partial view of `
148
+ + `the branches is how two teams receive one number. Retry; if it persists, check the `
149
+ + `repository rather than numbering by hand.`);
150
+ }
151
+ /** A grant that survived the barrier. */
152
+ function granted(result, params) {
153
+ return successResult({
154
+ claim: result.claim,
155
+ // Stated back rather than assumed: the number is the one to write, and the
156
+ // tag recorded here is the INTENT -- the file may carry a different one,
157
+ // and the confirm pass records what the file actually carries.
158
+ use: `${String(result.claim.ordinal)}${params.tag ? `_${params.tag}` : ""}`,
159
+ });
160
+ }
161
+ export function registerMigrationClaimTools(server, getCreds, _profile = 'full') {
162
+ server.tool("telora_product_migration", "CLAIM A MIGRATION NUMBER BEFORE YOU NAME THE FILE. Never pick a migration " +
163
+ "number by reading your own worktree: two focuses armed at once on one " +
164
+ "product are cut from the same base, so 'the next free number' computed " +
165
+ "locally is the same number your sibling just computed. Git sees no conflict " +
166
+ "(the filenames differ), the merge admits it, and it surfaces only when the " +
167
+ "migrations run in order. This tool grants a number free across integration, " +
168
+ "every live focus branch, and every outstanding claim -- atomically, so two " +
169
+ "teams claiming in the same instant never receive one number. Pass the tag " +
170
+ "you intend to use; the file may end up named differently and that is fine " +
171
+ "(the daemon confirms the claim with the tag the file actually carries). " +
172
+ "REFUSALS are never a guessed number: migration_numbering_unavailable means " +
173
+ "the product declares no numbering (telora.migrations.json) or its " +
174
+ "declaration is broken; migration_held_set_unavailable means no daemon has " +
175
+ "reported what the branches hold, or a branch could not be read, so granting " +
176
+ "would be guessing. Fix the cause -- do not fall back to numbering by hand. " +
177
+ "Actions: claim a number (productId, usually with focusId + tag), or list " +
178
+ "what a product or focus holds." +
179
+ LIST_INDEX_NOTE, {
180
+ action: z.enum(["claim", "list"]).describe("Action to perform"),
181
+ productId: z.string().uuid().optional().describe("Product UUID the migration belongs to (required for claim and list)"),
182
+ migrationClaimId: z.string().uuid().optional().describe("Migration-claim UUID (self id; reserved for future get/by-id reads)"),
183
+ focusId: z.string().uuid().optional().describe("Focus UUID the claim is made for -- the claim follows this branch, and is released if the focus ends without the file. Omit only for a claim made outside a focus."),
184
+ tag: z.string().max(200).optional().describe("The migration name you intend to use (the part after the number). Recorded as intent; the file may carry a different tag and the daemon confirms with the real one."),
185
+ agentSessionId: z.string().uuid().optional().describe("Provenance: the session making the claim"),
186
+ includeReleased: z.boolean().optional().describe("List: include released claims (the history). Default: live claims only."),
187
+ limit: z.number().int().min(1).max(500).optional().describe("Max results (1-500, default 50)"),
188
+ offset: z.number().int().min(0).optional().describe("Number of results to skip (default 0)"),
189
+ }, wrapHandler(async (params) => {
190
+ switch (params.action) {
191
+ case "claim": {
192
+ return handleMigrationClaim(params, (body) => callProductApi(getCreds(), body));
193
+ }
194
+ case "list": {
195
+ if (!params.productId)
196
+ return validationError("productId required for list");
197
+ const body = {
198
+ action: "migration_claim_list",
199
+ productId: params.productId,
200
+ };
201
+ if (params.focusId !== undefined)
202
+ body.focusId = params.focusId;
203
+ if (params.includeReleased !== undefined)
204
+ body.includeReleased = params.includeReleased;
205
+ if (params.limit !== undefined)
206
+ body.limit = params.limit;
207
+ if (params.offset !== undefined)
208
+ body.offset = params.offset;
209
+ const result = await callProductApi(getCreds(), body);
210
+ return successResult({ items: result.claims, totalCount: result.totalCount });
211
+ }
212
+ default:
213
+ return validationError(`Unknown action: ${params.action}`);
214
+ }
215
+ }));
216
+ }
217
+ //# sourceMappingURL=migrationClaimHandlers.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"migrationClaimHandlers.js","sourceRoot":"","sources":["../../src/handlers/migrationClaimHandlers.ts"],"names":[],"mappings":"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"}