whiteboard-mcp-server 2.18.1 → 2.19.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.
- package/dist/api-client.d.ts +60 -0
- package/dist/api-client.d.ts.map +1 -1
- package/dist/api-client.js +46 -0
- package/dist/api-client.js.map +1 -1
- package/dist/index.js +213 -1
- package/dist/index.js.map +1 -1
- package/dist/tools/adopt-capability.d.ts +18 -0
- package/dist/tools/adopt-capability.d.ts.map +1 -0
- package/dist/tools/adopt-capability.js +12 -0
- package/dist/tools/adopt-capability.js.map +1 -0
- package/dist/tools/attach-feature.d.ts +18 -0
- package/dist/tools/attach-feature.d.ts.map +1 -0
- package/dist/tools/attach-feature.js +12 -0
- package/dist/tools/attach-feature.js.map +1 -0
- package/dist/tools/bulk-update-tickets.d.ts +4 -4
- package/dist/tools/create-capability.d.ts +51 -0
- package/dist/tools/create-capability.d.ts.map +1 -0
- package/dist/tools/create-capability.js +38 -0
- package/dist/tools/create-capability.js.map +1 -0
- package/dist/tools/create-ticket.d.ts +4 -4
- package/dist/tools/detach-feature.d.ts +18 -0
- package/dist/tools/detach-feature.d.ts.map +1 -0
- package/dist/tools/detach-feature.js +12 -0
- package/dist/tools/detach-feature.js.map +1 -0
- package/dist/tools/list-capabilities.d.ts +24 -0
- package/dist/tools/list-capabilities.d.ts.map +1 -0
- package/dist/tools/list-capabilities.js +42 -0
- package/dist/tools/list-capabilities.js.map +1 -0
- package/dist/tools/read-capability.d.ts +15 -0
- package/dist/tools/read-capability.d.ts.map +1 -0
- package/dist/tools/read-capability.js +37 -0
- package/dist/tools/read-capability.js.map +1 -0
- package/dist/tools/reject-capability.d.ts +18 -0
- package/dist/tools/reject-capability.d.ts.map +1 -0
- package/dist/tools/reject-capability.js +15 -0
- package/dist/tools/reject-capability.js.map +1 -0
- package/dist/tools/supersede-capability.d.ts +18 -0
- package/dist/tools/supersede-capability.d.ts.map +1 -0
- package/dist/tools/supersede-capability.js +14 -0
- package/dist/tools/supersede-capability.js.map +1 -0
- package/dist/tools/update-capability.d.ts +57 -0
- package/dist/tools/update-capability.d.ts.map +1 -0
- package/dist/tools/update-capability.js +28 -0
- package/dist/tools/update-capability.js.map +1 -0
- package/dist/tools/update-claims.d.ts +21 -0
- package/dist/tools/update-claims.d.ts.map +1 -0
- package/dist/tools/update-claims.js +31 -0
- package/dist/tools/update-claims.js.map +1 -0
- package/dist/tools/update-ticket.d.ts +6 -6
- package/package.json +1 -1
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const rejectCapabilitySchema: z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
note: z.ZodString;
|
|
6
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
note: string;
|
|
9
|
+
key: string;
|
|
10
|
+
workspaceId?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
note: string;
|
|
13
|
+
key: string;
|
|
14
|
+
workspaceId?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export type RejectCapabilityInput = z.infer<typeof rejectCapabilitySchema>;
|
|
17
|
+
export declare function rejectCapability(client: ApiClient, input: RejectCapabilityInput): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=reject-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reject-capability.d.ts","sourceRoot":"","sources":["../../src/tools/reject-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;EAOjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -0,0 +1,15 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const rejectCapabilitySchema = z.object({
|
|
3
|
+
key: z.string().describe('The capability to reject'),
|
|
4
|
+
note: z
|
|
5
|
+
.string()
|
|
6
|
+
.min(1)
|
|
7
|
+
.describe('Why it was rejected. Required: a rejection nobody can read comes back later.'),
|
|
8
|
+
workspaceId: z.string().optional(),
|
|
9
|
+
});
|
|
10
|
+
export async function rejectCapability(client, input) {
|
|
11
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
12
|
+
const c = await client.rejectCapability(workspaceId, input.key, input.note);
|
|
13
|
+
return `Rejected \`${c.key}\` — ${c.name}. It leaves the grid; nothing is deleted.`;
|
|
14
|
+
}
|
|
15
|
+
//# sourceMappingURL=reject-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"reject-capability.js","sourceRoot":"","sources":["../../src/tools/reject-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,0BAA0B,CAAC;IACpD,IAAI,EAAE,CAAC;SACJ,MAAM,EAAE;SACR,GAAG,CAAC,CAAC,CAAC;SACN,QAAQ,CAAC,8EAA8E,CAAC;IAC3F,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAA4B;IAE5B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,IAAI,CAAC,CAAC;IAC5E,OAAO,cAAc,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,2CAA2C,CAAC;AACtF,CAAC"}
|
|
@@ -0,0 +1,18 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const supersedeCapabilitySchema: z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
byKey: z.ZodString;
|
|
6
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
7
|
+
}, "strip", z.ZodTypeAny, {
|
|
8
|
+
key: string;
|
|
9
|
+
byKey: string;
|
|
10
|
+
workspaceId?: string | undefined;
|
|
11
|
+
}, {
|
|
12
|
+
key: string;
|
|
13
|
+
byKey: string;
|
|
14
|
+
workspaceId?: string | undefined;
|
|
15
|
+
}>;
|
|
16
|
+
export type SupersedeCapabilityInput = z.infer<typeof supersedeCapabilitySchema>;
|
|
17
|
+
export declare function supersedeCapability(client: ApiClient, input: SupersedeCapabilityInput): Promise<string>;
|
|
18
|
+
//# sourceMappingURL=supersede-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supersede-capability.d.ts","sourceRoot":"","sources":["../../src/tools/supersede-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,yBAAyB;;;;;;;;;;;;EAIpC,CAAC;AAEH,MAAM,MAAM,wBAAwB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,yBAAyB,CAAC,CAAC;AAIjF,wBAAsB,mBAAmB,CACvC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,wBAAwB,GAC9B,OAAO,CAAC,MAAM,CAAC,CAIjB"}
|
|
@@ -0,0 +1,14 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const supersedeCapabilitySchema = z.object({
|
|
3
|
+
key: z.string().describe('The capability being replaced'),
|
|
4
|
+
byKey: z.string().describe('The capability that takes over'),
|
|
5
|
+
workspaceId: z.string().optional(),
|
|
6
|
+
});
|
|
7
|
+
// Renaming, merging and splitting all go through here: a capability is never
|
|
8
|
+
// deleted, so the history stays readable.
|
|
9
|
+
export async function supersedeCapability(client, input) {
|
|
10
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
11
|
+
const c = await client.supersedeCapability(workspaceId, input.key, input.byKey);
|
|
12
|
+
return `\`${c.key}\` is now superseded by \`${input.byKey}\`. Both survive.`;
|
|
13
|
+
}
|
|
14
|
+
//# sourceMappingURL=supersede-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"supersede-capability.js","sourceRoot":"","sources":["../../src/tools/supersede-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,yBAAyB,GAAG,CAAC,CAAC,MAAM,CAAC;IAChD,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,+BAA+B,CAAC;IACzD,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,gCAAgC,CAAC;IAC5D,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,6EAA6E;AAC7E,0CAA0C;AAC1C,MAAM,CAAC,KAAK,UAAU,mBAAmB,CACvC,MAAiB,EACjB,KAA+B;IAE/B,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,mBAAmB,CAAC,WAAW,EAAE,KAAK,CAAC,GAAG,EAAE,KAAK,CAAC,KAAK,CAAC,CAAC;IAChF,OAAO,KAAK,CAAC,CAAC,GAAG,6BAA6B,KAAK,CAAC,KAAK,mBAAmB,CAAC;AAC/E,CAAC"}
|
|
@@ -0,0 +1,57 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const updateCapabilitySchema: z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
name: z.ZodOptional<z.ZodString>;
|
|
6
|
+
domain: z.ZodOptional<z.ZodString>;
|
|
7
|
+
intent: z.ZodOptional<z.ZodString>;
|
|
8
|
+
vertical: z.ZodOptional<z.ZodObject<{
|
|
9
|
+
label: z.ZodString;
|
|
10
|
+
color: z.ZodOptional<z.ZodString>;
|
|
11
|
+
}, "strip", z.ZodTypeAny, {
|
|
12
|
+
label: string;
|
|
13
|
+
color?: string | undefined;
|
|
14
|
+
}, {
|
|
15
|
+
label: string;
|
|
16
|
+
color?: string | undefined;
|
|
17
|
+
}>>;
|
|
18
|
+
parentKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
19
|
+
basedOnKey: z.ZodOptional<z.ZodNullable<z.ZodString>>;
|
|
20
|
+
position: z.ZodOptional<z.ZodNumber>;
|
|
21
|
+
liveSummary: z.ZodOptional<z.ZodString>;
|
|
22
|
+
limits: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
23
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
24
|
+
}, "strip", z.ZodTypeAny, {
|
|
25
|
+
key: string;
|
|
26
|
+
workspaceId?: string | undefined;
|
|
27
|
+
vertical?: {
|
|
28
|
+
label: string;
|
|
29
|
+
color?: string | undefined;
|
|
30
|
+
} | undefined;
|
|
31
|
+
domain?: string | undefined;
|
|
32
|
+
name?: string | undefined;
|
|
33
|
+
intent?: string | undefined;
|
|
34
|
+
parentKey?: string | null | undefined;
|
|
35
|
+
basedOnKey?: string | null | undefined;
|
|
36
|
+
position?: number | undefined;
|
|
37
|
+
liveSummary?: string | undefined;
|
|
38
|
+
limits?: string[] | undefined;
|
|
39
|
+
}, {
|
|
40
|
+
key: string;
|
|
41
|
+
workspaceId?: string | undefined;
|
|
42
|
+
vertical?: {
|
|
43
|
+
label: string;
|
|
44
|
+
color?: string | undefined;
|
|
45
|
+
} | undefined;
|
|
46
|
+
domain?: string | undefined;
|
|
47
|
+
name?: string | undefined;
|
|
48
|
+
intent?: string | undefined;
|
|
49
|
+
parentKey?: string | null | undefined;
|
|
50
|
+
basedOnKey?: string | null | undefined;
|
|
51
|
+
position?: number | undefined;
|
|
52
|
+
liveSummary?: string | undefined;
|
|
53
|
+
limits?: string[] | undefined;
|
|
54
|
+
}>;
|
|
55
|
+
export type UpdateCapabilityInput = z.infer<typeof updateCapabilitySchema>;
|
|
56
|
+
export declare function updateCapability(client: ApiClient, input: UpdateCapabilityInput): Promise<string>;
|
|
57
|
+
//# sourceMappingURL=update-capability.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-capability.d.ts","sourceRoot":"","sources":["../../src/tools/update-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAG7C,eAAO,MAAM,sBAAsB;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;;EAkBjC,CAAC;AAEH,MAAM,MAAM,qBAAqB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,sBAAsB,CAAC,CAAC;AAE3E,wBAAsB,gBAAgB,CACpC,MAAM,EAAE,SAAS,EACjB,KAAK,EAAE,qBAAqB,GAC3B,OAAO,CAAC,MAAM,CAAC,CAKjB"}
|
|
@@ -0,0 +1,28 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { TAG_DISCIPLINE } from '../tag-discipline.js';
|
|
3
|
+
export const updateCapabilitySchema = z.object({
|
|
4
|
+
key: z.string().describe('The capability to update. The key itself cannot be changed.'),
|
|
5
|
+
name: z.string().optional(),
|
|
6
|
+
domain: z.string().optional(),
|
|
7
|
+
intent: z.string().optional(),
|
|
8
|
+
vertical: z
|
|
9
|
+
.object({ label: z.string(), color: z.string().optional() })
|
|
10
|
+
.optional()
|
|
11
|
+
.describe(TAG_DISCIPLINE),
|
|
12
|
+
parentKey: z.string().nullable().optional().describe('null to unnest'),
|
|
13
|
+
basedOnKey: z.string().nullable().optional().describe('null to detach from its foundation'),
|
|
14
|
+
position: z.number().int().min(0).optional(),
|
|
15
|
+
liveSummary: z.string().optional().describe('Descriptive only: it does not affect the state'),
|
|
16
|
+
limits: z
|
|
17
|
+
.array(z.string())
|
|
18
|
+
.optional()
|
|
19
|
+
.describe('Known limits, descriptive only: they do not affect the state'),
|
|
20
|
+
workspaceId: z.string().optional(),
|
|
21
|
+
});
|
|
22
|
+
export async function updateCapability(client, input) {
|
|
23
|
+
const { key, workspaceId: given, ...patch } = input;
|
|
24
|
+
const workspaceId = await client.resolveWorkspaceId(given);
|
|
25
|
+
const c = await client.updateCapability(workspaceId, key, patch);
|
|
26
|
+
return `Updated \`${c.key}\` — ${c.name} (${c.domain}). State: ${c.state} — ${c.stateReason}.`;
|
|
27
|
+
}
|
|
28
|
+
//# sourceMappingURL=update-capability.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-capability.js","sourceRoot":"","sources":["../../src/tools/update-capability.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAExB,OAAO,EAAE,cAAc,EAAE,MAAM,sBAAsB,CAAC;AAEtD,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,CAAC,MAAM,CAAC;IAC7C,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,6DAA6D,CAAC;IACvF,IAAI,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC3B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,MAAM,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;IAC7B,QAAQ,EAAE,CAAC;SACR,MAAM,CAAC,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,EAAE,KAAK,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,EAAE,CAAC;SAC3D,QAAQ,EAAE;SACV,QAAQ,CAAC,cAAc,CAAC;IAC3B,SAAS,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gBAAgB,CAAC;IACtE,UAAU,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC3F,QAAQ,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,GAAG,EAAE,CAAC,GAAG,CAAC,CAAC,CAAC,CAAC,QAAQ,EAAE;IAC5C,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,gDAAgD,CAAC;IAC7F,MAAM,EAAE,CAAC;SACN,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,8DAA8D,CAAC;IAC3E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,MAAM,CAAC,KAAK,UAAU,gBAAgB,CACpC,MAAiB,EACjB,KAA4B;IAE5B,MAAM,EAAE,GAAG,EAAE,WAAW,EAAE,KAAK,EAAE,GAAG,KAAK,EAAE,GAAG,KAAK,CAAC;IACpD,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,CAAC;IAC3D,MAAM,CAAC,GAAG,MAAM,MAAM,CAAC,gBAAgB,CAAC,WAAW,EAAE,GAAG,EAAE,KAAK,CAAC,CAAC;IACjE,OAAO,aAAa,CAAC,CAAC,GAAG,QAAQ,CAAC,CAAC,IAAI,KAAK,CAAC,CAAC,MAAM,aAAa,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,GAAG,CAAC;AACjG,CAAC"}
|
|
@@ -0,0 +1,21 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
import { ApiClient } from '../api-client.js';
|
|
3
|
+
export declare const updateClaimsSchema: z.ZodObject<{
|
|
4
|
+
key: z.ZodString;
|
|
5
|
+
add: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
6
|
+
remove: z.ZodOptional<z.ZodArray<z.ZodString, "many">>;
|
|
7
|
+
workspaceId: z.ZodOptional<z.ZodString>;
|
|
8
|
+
}, "strip", z.ZodTypeAny, {
|
|
9
|
+
key: string;
|
|
10
|
+
workspaceId?: string | undefined;
|
|
11
|
+
add?: string[] | undefined;
|
|
12
|
+
remove?: string[] | undefined;
|
|
13
|
+
}, {
|
|
14
|
+
key: string;
|
|
15
|
+
workspaceId?: string | undefined;
|
|
16
|
+
add?: string[] | undefined;
|
|
17
|
+
remove?: string[] | undefined;
|
|
18
|
+
}>;
|
|
19
|
+
export type UpdateClaimsInput = z.infer<typeof updateClaimsSchema>;
|
|
20
|
+
export declare function updateClaims(client: ApiClient, input: UpdateClaimsInput): Promise<string>;
|
|
21
|
+
//# sourceMappingURL=update-claims.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-claims.d.ts","sourceRoot":"","sources":["../../src/tools/update-claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AACxB,OAAO,EAAE,SAAS,EAAE,MAAM,kBAAkB,CAAC;AAE7C,eAAO,MAAM,kBAAkB;;;;;;;;;;;;;;;EAQ7B,CAAC;AAEH,MAAM,MAAM,iBAAiB,GAAG,CAAC,CAAC,KAAK,CAAC,OAAO,kBAAkB,CAAC,CAAC;AAQnE,wBAAsB,YAAY,CAAC,MAAM,EAAE,SAAS,EAAE,KAAK,EAAE,iBAAiB,GAAG,OAAO,CAAC,MAAM,CAAC,CA8B/F"}
|
|
@@ -0,0 +1,31 @@
|
|
|
1
|
+
import { z } from 'zod';
|
|
2
|
+
export const updateClaimsSchema = z.object({
|
|
3
|
+
key: z.string().describe('The capability whose claims change'),
|
|
4
|
+
add: z
|
|
5
|
+
.array(z.string())
|
|
6
|
+
.optional()
|
|
7
|
+
.describe('Code-element identifiers to claim, e.g. "route:POST /v1/onramp/sessions"'),
|
|
8
|
+
remove: z.array(z.string()).optional().describe('Identifiers to stop claiming'),
|
|
9
|
+
workspaceId: z.string().optional(),
|
|
10
|
+
});
|
|
11
|
+
// Claims are opaque strings: their shape belongs to whatever adapter produces
|
|
12
|
+
// the code surface. They are compared literally, never parsed and never matched
|
|
13
|
+
// approximately. An element already claimed by an adopted capability is
|
|
14
|
+
// refused there (409); on a capability that isn't adopted yet, the claims are
|
|
15
|
+
// only provisional, so the write goes through and the clash comes back as a
|
|
16
|
+
// warning to raise in review instead.
|
|
17
|
+
export async function updateClaims(client, input) {
|
|
18
|
+
const workspaceId = await client.resolveWorkspaceId(input.workspaceId);
|
|
19
|
+
const { capability: c, conflicts } = await client.updateCapabilityClaims(workspaceId, input.key, input.add ?? [], input.remove ?? []);
|
|
20
|
+
const lines = [
|
|
21
|
+
`\`${c.key}\` now claims ${c.claims.length} element(s). State: ${c.state} — ${c.stateReason}.`,
|
|
22
|
+
];
|
|
23
|
+
if (conflicts.length > 0) {
|
|
24
|
+
lines.push('', `Warning — ${conflicts.length} of these elements are already claimed by an adopted capability:`, ...conflicts.map((cf) => `- \`${cf.elementId}\` — also claimed by ${cf.owners
|
|
25
|
+
.filter((o) => o.key !== c.key)
|
|
26
|
+
.map((o) => `\`${o.key}\``)
|
|
27
|
+
.join(', ')}`), '', 'The write went through because this capability is not adopted yet, so its claims are provisional. Adoption will be refused until the clash is resolved.');
|
|
28
|
+
}
|
|
29
|
+
return lines.join('\n');
|
|
30
|
+
}
|
|
31
|
+
//# sourceMappingURL=update-claims.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"update-claims.js","sourceRoot":"","sources":["../../src/tools/update-claims.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,CAAC,EAAE,MAAM,KAAK,CAAC;AAGxB,MAAM,CAAC,MAAM,kBAAkB,GAAG,CAAC,CAAC,MAAM,CAAC;IACzC,GAAG,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,CAAC,oCAAoC,CAAC;IAC9D,GAAG,EAAE,CAAC;SACH,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC;SACjB,QAAQ,EAAE;SACV,QAAQ,CAAC,0EAA0E,CAAC;IACvF,MAAM,EAAE,CAAC,CAAC,KAAK,CAAC,CAAC,CAAC,MAAM,EAAE,CAAC,CAAC,QAAQ,EAAE,CAAC,QAAQ,CAAC,8BAA8B,CAAC;IAC/E,WAAW,EAAE,CAAC,CAAC,MAAM,EAAE,CAAC,QAAQ,EAAE;CACnC,CAAC,CAAC;AAIH,8EAA8E;AAC9E,gFAAgF;AAChF,wEAAwE;AACxE,8EAA8E;AAC9E,4EAA4E;AAC5E,sCAAsC;AACtC,MAAM,CAAC,KAAK,UAAU,YAAY,CAAC,MAAiB,EAAE,KAAwB;IAC5E,MAAM,WAAW,GAAG,MAAM,MAAM,CAAC,kBAAkB,CAAC,KAAK,CAAC,WAAW,CAAC,CAAC;IACvE,MAAM,EAAE,UAAU,EAAE,CAAC,EAAE,SAAS,EAAE,GAAG,MAAM,MAAM,CAAC,sBAAsB,CACtE,WAAW,EACX,KAAK,CAAC,GAAG,EACT,KAAK,CAAC,GAAG,IAAI,EAAE,EACf,KAAK,CAAC,MAAM,IAAI,EAAE,CACnB,CAAC;IAEF,MAAM,KAAK,GAAG;QACZ,KAAK,CAAC,CAAC,GAAG,iBAAiB,CAAC,CAAC,MAAM,CAAC,MAAM,uBAAuB,CAAC,CAAC,KAAK,MAAM,CAAC,CAAC,WAAW,GAAG;KAC/F,CAAC;IAEF,IAAI,SAAS,CAAC,MAAM,GAAG,CAAC,EAAE,CAAC;QACzB,KAAK,CAAC,IAAI,CACR,EAAE,EACF,aAAa,SAAS,CAAC,MAAM,kEAAkE,EAC/F,GAAG,SAAS,CAAC,GAAG,CACd,CAAC,EAAE,EAAE,EAAE,CACL,OAAO,EAAE,CAAC,SAAS,wBAAwB,EAAE,CAAC,MAAM;aACjD,MAAM,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,CAAC,CAAC,GAAG,KAAK,CAAC,CAAC,GAAG,CAAC;aAC9B,GAAG,CAAC,CAAC,CAAC,EAAE,EAAE,CAAC,KAAK,CAAC,CAAC,GAAG,IAAI,CAAC;aAC1B,IAAI,CAAC,IAAI,CAAC,EAAE,CAClB,EACD,EAAE,EACF,yJAAyJ,CAC1J,CAAC;IACJ,CAAC;IAED,OAAO,KAAK,CAAC,IAAI,CAAC,IAAI,CAAC,CAAC;AAC1B,CAAC"}
|
|
@@ -38,13 +38,13 @@ export declare const updateTicketSchema: z.ZodObject<{
|
|
|
38
38
|
color?: string | undefined;
|
|
39
39
|
}[] | undefined;
|
|
40
40
|
status?: "idea" | "backlog" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
41
|
-
title?: string | undefined;
|
|
42
|
-
description?: string | undefined;
|
|
43
|
-
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
44
41
|
vertical?: {
|
|
45
42
|
label: string;
|
|
46
43
|
color?: string | undefined;
|
|
47
44
|
} | null | undefined;
|
|
45
|
+
title?: string | undefined;
|
|
46
|
+
description?: string | undefined;
|
|
47
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
48
48
|
assigneeId?: string | null | undefined;
|
|
49
49
|
startDate?: string | null | undefined;
|
|
50
50
|
dueDate?: string | null | undefined;
|
|
@@ -57,13 +57,13 @@ export declare const updateTicketSchema: z.ZodObject<{
|
|
|
57
57
|
color?: string | undefined;
|
|
58
58
|
}[] | undefined;
|
|
59
59
|
status?: "idea" | "backlog" | "todo" | "doing" | "done" | "wont" | "closed" | undefined;
|
|
60
|
-
title?: string | undefined;
|
|
61
|
-
description?: string | undefined;
|
|
62
|
-
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
63
60
|
vertical?: {
|
|
64
61
|
label: string;
|
|
65
62
|
color?: string | undefined;
|
|
66
63
|
} | null | undefined;
|
|
64
|
+
title?: string | undefined;
|
|
65
|
+
description?: string | undefined;
|
|
66
|
+
priority?: "low" | "medium" | "high" | "critical" | undefined;
|
|
67
67
|
assigneeId?: string | null | undefined;
|
|
68
68
|
startDate?: string | null | undefined;
|
|
69
69
|
dueDate?: string | null | undefined;
|