@agentteams/cli 0.1.103 → 0.1.104

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 (36) hide show
  1. package/.eslintcache +1 -1
  2. package/dist/api/postmortem.d.ts +1 -1
  3. package/dist/api/postmortem.d.ts.map +1 -1
  4. package/dist/api/postmortem.js +5 -1
  5. package/dist/api/postmortem.js.map +1 -1
  6. package/dist/commands/coaction.d.ts.map +1 -1
  7. package/dist/commands/coaction.js +4 -1
  8. package/dist/commands/coaction.js.map +1 -1
  9. package/dist/commands/codeReview.d.ts.map +1 -1
  10. package/dist/commands/codeReview.js +19 -4
  11. package/dist/commands/codeReview.js.map +1 -1
  12. package/dist/commands/postmortem.d.ts.map +1 -1
  13. package/dist/commands/postmortem.js +4 -1
  14. package/dist/commands/postmortem.js.map +1 -1
  15. package/dist/mcp/guides.d.ts +2 -0
  16. package/dist/mcp/guides.d.ts.map +1 -1
  17. package/dist/mcp/guides.js +2 -1
  18. package/dist/mcp/guides.js.map +1 -1
  19. package/dist/program/coaction.d.ts.map +1 -1
  20. package/dist/program/coaction.js +4 -3
  21. package/dist/program/coaction.js.map +1 -1
  22. package/dist/program/codeReview.d.ts.map +1 -1
  23. package/dist/program/codeReview.js +11 -6
  24. package/dist/program/codeReview.js.map +1 -1
  25. package/dist/program/options/writeContract.d.ts +15 -0
  26. package/dist/program/options/writeContract.d.ts.map +1 -0
  27. package/dist/program/options/writeContract.js +20 -0
  28. package/dist/program/options/writeContract.js.map +1 -0
  29. package/dist/program/postmortem.d.ts.map +1 -1
  30. package/dist/program/postmortem.js +4 -3
  31. package/dist/program/postmortem.js.map +1 -1
  32. package/dist/utils/writeContract.d.ts +17 -0
  33. package/dist/utils/writeContract.d.ts.map +1 -0
  34. package/dist/utils/writeContract.js +17 -0
  35. package/dist/utils/writeContract.js.map +1 -0
  36. package/package.json +1 -1
@@ -0,0 +1,15 @@
1
+ import type { Command } from 'commander';
2
+ /**
3
+ * 에이전트 쓰기 계약 3종 플래그.
4
+ *
5
+ * MCP 쓰기 도구와 CLI는 같은 엔드포인트를 부른다. 한쪽에만 이 플래그가 있으면
6
+ * "MCP를 쓸 수 없을 때 CLI로 대체해도 계약이 같다"는 플랫폼 가이드의 fallback 서술이
7
+ * 그 엔티티에서만 거짓이 된다. 서버가 받는 표면에는 두 경로 모두에 플래그를 둔다.
8
+ */
9
+ export declare function addWriteContractOptions(command: Command, guideName: string): Command;
10
+ /**
11
+ * update/delete 계열용. create 계열에는 `--expected-updated-at`을 두지 않는다 —
12
+ * 생성 시점에는 비교할 이전 값이 없고, 서버 create 스키마도 이 필드를 받지 않는다.
13
+ */
14
+ export declare function addMutationContractOptions(command: Command, guideName: string, recordName: string): Command;
15
+ //# sourceMappingURL=writeContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.d.ts","sourceRoot":"","sources":["../../../src/program/options/writeContract.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;;;;GAMG;AACH,wBAAgB,uBAAuB,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,GAAG,OAAO,CAUpF;AAED;;;GAGG;AACH,wBAAgB,0BAA0B,CAAC,OAAO,EAAE,OAAO,EAAE,SAAS,EAAE,MAAM,EAAE,UAAU,EAAE,MAAM,GAAG,OAAO,CAK3G"}
@@ -0,0 +1,20 @@
1
+ /**
2
+ * 에이전트 쓰기 계약 3종 플래그.
3
+ *
4
+ * MCP 쓰기 도구와 CLI는 같은 엔드포인트를 부른다. 한쪽에만 이 플래그가 있으면
5
+ * "MCP를 쓸 수 없을 때 CLI로 대체해도 계약이 같다"는 플랫폼 가이드의 fallback 서술이
6
+ * 그 엔티티에서만 거짓이 된다. 서버가 받는 표면에는 두 경로 모두에 플래그를 둔다.
7
+ */
8
+ export function addWriteContractOptions(command, guideName) {
9
+ return command
10
+ .option('--guide-hash <hash>', `Hash of the ${guideName} guide you followed. Stale hash is rejected with GUIDE_OUTDATED.`)
11
+ .option('--idempotency-key <key>', 'Retry-safe key. Repeating the same key with the same request replays the first result.');
12
+ }
13
+ /**
14
+ * update/delete 계열용. create 계열에는 `--expected-updated-at`을 두지 않는다 —
15
+ * 생성 시점에는 비교할 이전 값이 없고, 서버 create 스키마도 이 필드를 받지 않는다.
16
+ */
17
+ export function addMutationContractOptions(command, guideName, recordName) {
18
+ return addWriteContractOptions(command, guideName).option('--expected-updated-at <iso>', `The ${recordName}'s updatedAt as you last read it. Rejects the write if it changed meanwhile.`);
19
+ }
20
+ //# sourceMappingURL=writeContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.js","sourceRoot":"","sources":["../../../src/program/options/writeContract.ts"],"names":[],"mappings":"AAEA;;;;;;GAMG;AACH,MAAM,UAAU,uBAAuB,CAAC,OAAgB,EAAE,SAAiB;IACzE,OAAO,OAAO;SACX,MAAM,CACL,qBAAqB,EACrB,eAAe,SAAS,kEAAkE,CAC3F;SACA,MAAM,CACL,yBAAyB,EACzB,wFAAwF,CACzF,CAAC;AACN,CAAC;AAED;;;GAGG;AACH,MAAM,UAAU,0BAA0B,CAAC,OAAgB,EAAE,SAAiB,EAAE,UAAkB;IAChG,OAAO,uBAAuB,CAAC,OAAO,EAAE,SAAS,CAAC,CAAC,MAAM,CACvD,6BAA6B,EAC7B,OAAO,UAAU,8EAA8E,CAChG,CAAC;AACJ,CAAC"}
@@ -1 +1 @@
1
- {"version":3,"file":"postmortem.d.ts","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;AAKvD,uDAAuD;AACvD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAgChE"}
1
+ {"version":3,"file":"postmortem.d.ts","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAE,OAAO,EAAmB,MAAM,aAAa,CAAC;AAMvD,uDAAuD;AACvD,wBAAgB,yBAAyB,CAAC,OAAO,EAAE,OAAO,GAAG,IAAI,CAoChE"}
@@ -2,6 +2,7 @@ import { CONVENTION_HINT } from './shared.js';
2
2
  import { addGitToggleOption } from './options/completionReport.js';
3
3
  import { addPaginationOptions } from './options/pagination.js';
4
4
  import { addJsonResourceLeaf } from './options/resource.js';
5
+ import { addMutationContractOptions, addWriteContractOptions } from './options/writeContract.js';
5
6
  /** 액션 인벤토리: list/get/create/update/delete/download. */
6
7
  export function registerPostmortemCommand(program) {
7
8
  const root = program.command('postmortem').description('Manage post mortems').addHelpText('after', CONVENTION_HINT);
@@ -19,9 +20,9 @@ export function registerPostmortemCommand(program) {
19
20
  .option('--status <status>', 'Post mortem status')
20
21
  .option('--search <text>', 'Title keyword search'));
21
22
  addLeaf('get', 'Get a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
22
- addLeaf('create', 'Create a post mortem', (command) => addGitToggleOption(addContent(command)).option('--repository-remote-url <url>', 'Repository remote origin URL (defaults to git origin)'));
23
- addLeaf('update', 'Update a post mortem', (command) => addContent(command.option('--id <id>', 'Post mortem ID')));
24
- addLeaf('delete', 'Delete a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
23
+ addLeaf('create', 'Create a post mortem', (command) => addWriteContractOptions(addGitToggleOption(addContent(command)), 'post-mortem').option('--repository-remote-url <url>', 'Repository remote origin URL (defaults to git origin)'));
24
+ addLeaf('update', 'Update a post mortem', (command) => addMutationContractOptions(addContent(command.option('--id <id>', 'Post mortem ID')), 'post-mortem', 'post mortem'));
25
+ addLeaf('delete', 'Delete a post mortem', (command) => addMutationContractOptions(command, 'post-mortem', 'post mortem').option('--id <id>', 'Post mortem ID'));
25
26
  addLeaf('download', 'Download a post mortem', (command) => command.option('--id <id>', 'Post mortem ID'));
26
27
  }
27
28
  //# sourceMappingURL=postmortem.js.map
@@ -1 +1 @@
1
- {"version":3,"file":"postmortem.js","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAE5D,uDAAuD;AACvD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpH,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAC/D,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtC,OAAO;SACJ,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;SAChE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,CAAC,MAAM,CAC5C,+BAA+B,EAC/B,uDAAuD,CACxD,CACF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC,CAAC;IAClH,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IACtG,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5G,CAAC"}
1
+ {"version":3,"file":"postmortem.js","sourceRoot":"","sources":["../../src/program/postmortem.ts"],"names":[],"mappings":"AAAA,OAAO,EAAW,eAAe,EAAE,MAAM,aAAa,CAAC;AACvD,OAAO,EAAE,kBAAkB,EAAE,MAAM,+BAA+B,CAAC;AACnE,OAAO,EAAE,oBAAoB,EAAE,MAAM,yBAAyB,CAAC;AAC/D,OAAO,EAAE,mBAAmB,EAAE,MAAM,uBAAuB,CAAC;AAC5D,OAAO,EAAE,0BAA0B,EAAE,uBAAuB,EAAE,MAAM,4BAA4B,CAAC;AAEjG,uDAAuD;AACvD,MAAM,UAAU,yBAAyB,CAAC,OAAgB;IACxD,MAAM,IAAI,GAAG,OAAO,CAAC,OAAO,CAAC,YAAY,CAAC,CAAC,WAAW,CAAC,qBAAqB,CAAC,CAAC,WAAW,CAAC,OAAO,EAAE,eAAe,CAAC,CAAC;IACpH,MAAM,OAAO,GAAG,CACd,MAAc,EACd,WAAmB,EACnB,YAA2C,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,EAC/D,EAAE,CAAC,mBAAmB,CAAC,IAAI,EAAE,YAAY,EAAE,MAAM,EAAE,WAAW,EAAE,SAAS,CAAC,CAAC;IAC7E,MAAM,UAAU,GAAG,CAAC,OAAgB,EAAE,EAAE,CACtC,OAAO;SACJ,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,iBAAiB,EAAE,mBAAmB,CAAC;SAC9C,MAAM,CAAC,qBAAqB,EAAE,8BAA8B,CAAC;SAC7D,MAAM,CAAC,eAAe,EAAE,2CAA2C,CAAC;SACpE,MAAM,CAAC,aAAa,EAAE,kCAAkC,EAAE,KAAK,CAAC;SAChE,MAAM,CAAC,sBAAsB,EAAE,gCAAgC,CAAC;SAChE,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC,CAAC;IACvD,OAAO,CAAC,MAAM,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAC/C,oBAAoB,CAAC,OAAO,CAAC;SAC1B,MAAM,CAAC,gBAAgB,EAAE,SAAS,CAAC;SACnC,MAAM,CAAC,mBAAmB,EAAE,oBAAoB,CAAC;SACjD,MAAM,CAAC,iBAAiB,EAAE,sBAAsB,CAAC,CACrD,CAAC;IACF,OAAO,CAAC,KAAK,EAAE,mBAAmB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;IAChG,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,uBAAuB,CAAC,kBAAkB,CAAC,UAAU,CAAC,OAAO,CAAC,CAAC,EAAE,aAAa,CAAC,CAAC,MAAM,CACpF,+BAA+B,EAC/B,uDAAuD,CACxD,CACF,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,0BAA0B,CAAC,UAAU,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,EAAE,aAAa,EAAE,aAAa,CAAC,CACpH,CAAC;IACF,OAAO,CAAC,QAAQ,EAAE,sBAAsB,EAAE,CAAC,OAAO,EAAE,EAAE,CACpD,0BAA0B,CAAC,OAAO,EAAE,aAAa,EAAE,aAAa,CAAC,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CACxG,CAAC;IACF,OAAO,CAAC,UAAU,EAAE,wBAAwB,EAAE,CAAC,OAAO,EAAE,EAAE,CAAC,OAAO,CAAC,MAAM,CAAC,WAAW,EAAE,gBAAgB,CAAC,CAAC,CAAC;AAC5G,CAAC"}
@@ -0,0 +1,17 @@
1
+ /**
2
+ * 에이전트 쓰기 계약 필드(`guideHash` · `idempotencyKey` · `expectedUpdatedAt`)를 요청 본문/쿼리에 싣는다.
3
+ *
4
+ * 명시된 값은 빈 문자열도 담는다 — 서버 스키마(`minLength: 1`)가 잘못된 명시값을 거절해야 한다.
5
+ * `expectedUpdatedAt`을 별도 함수로 가른 이유는 create 계열 스키마가 이 필드를 받지 않기 때문이다
6
+ * (`additionalProperties: false`). 생성 시점에는 비교할 이전 값 자체가 없다.
7
+ */
8
+ export type WriteContractOptions = {
9
+ guideHash?: string;
10
+ idempotencyKey?: string;
11
+ expectedUpdatedAt?: string;
12
+ };
13
+ /** create 계열용: `guideHash` + `idempotencyKey`. */
14
+ export declare const writeContractFields: (options: WriteContractOptions) => Record<string, string>;
15
+ /** update/delete 계열용: create 계열 + `expectedUpdatedAt`. */
16
+ export declare const mutationContractFields: (options: WriteContractOptions) => Record<string, string>;
17
+ //# sourceMappingURL=writeContract.d.ts.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.d.ts","sourceRoot":"","sources":["../../src/utils/writeContract.ts"],"names":[],"mappings":"AAAA;;;;;;GAMG;AACH,MAAM,MAAM,oBAAoB,GAAG;IACjC,SAAS,CAAC,EAAE,MAAM,CAAC;IACnB,cAAc,CAAC,EAAE,MAAM,CAAC;IACxB,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC5B,CAAC;AAEF,kDAAkD;AAClD,eAAO,MAAM,mBAAmB,GAAI,SAAS,oBAAoB,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAKxF,CAAC;AAEF,0DAA0D;AAC1D,eAAO,MAAM,sBAAsB,GAAI,SAAS,oBAAoB,KAAG,MAAM,CAAC,MAAM,EAAE,MAAM,CAI3F,CAAC"}
@@ -0,0 +1,17 @@
1
+ /** create 계열용: `guideHash` + `idempotencyKey`. */
2
+ export const writeContractFields = (options) => {
3
+ const fields = {};
4
+ if (options.guideHash !== undefined)
5
+ fields.guideHash = options.guideHash;
6
+ if (options.idempotencyKey !== undefined)
7
+ fields.idempotencyKey = options.idempotencyKey;
8
+ return fields;
9
+ };
10
+ /** update/delete 계열용: create 계열 + `expectedUpdatedAt`. */
11
+ export const mutationContractFields = (options) => {
12
+ const fields = writeContractFields(options);
13
+ if (options.expectedUpdatedAt !== undefined)
14
+ fields.expectedUpdatedAt = options.expectedUpdatedAt;
15
+ return fields;
16
+ };
17
+ //# sourceMappingURL=writeContract.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"writeContract.js","sourceRoot":"","sources":["../../src/utils/writeContract.ts"],"names":[],"mappings":"AAaA,kDAAkD;AAClD,MAAM,CAAC,MAAM,mBAAmB,GAAG,CAAC,OAA6B,EAA0B,EAAE;IAC3F,MAAM,MAAM,GAA2B,EAAE,CAAC;IAC1C,IAAI,OAAO,CAAC,SAAS,KAAK,SAAS;QAAE,MAAM,CAAC,SAAS,GAAG,OAAO,CAAC,SAAS,CAAC;IAC1E,IAAI,OAAO,CAAC,cAAc,KAAK,SAAS;QAAE,MAAM,CAAC,cAAc,GAAG,OAAO,CAAC,cAAc,CAAC;IACzF,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC;AAEF,0DAA0D;AAC1D,MAAM,CAAC,MAAM,sBAAsB,GAAG,CAAC,OAA6B,EAA0B,EAAE;IAC9F,MAAM,MAAM,GAAG,mBAAmB,CAAC,OAAO,CAAC,CAAC;IAC5C,IAAI,OAAO,CAAC,iBAAiB,KAAK,SAAS;QAAE,MAAM,CAAC,iBAAiB,GAAG,OAAO,CAAC,iBAAiB,CAAC;IAClG,OAAO,MAAM,CAAC;AAChB,CAAC,CAAC"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agentteams/cli",
3
- "version": "0.1.103",
3
+ "version": "0.1.104",
4
4
  "description": "CLI tool for AgentTeams API",
5
5
  "type": "module",
6
6
  "main": "dist/index.js",