@inharness-ai/claude4spec 1.0.5 → 1.0.7

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 (117) hide show
  1. package/.claude/skills/c4s-brief-implementer/SKILL.md +37 -3
  2. package/.claude/skills/c4s-spec-reader/SKILL.md +11 -0
  3. package/CHANGELOG.md +32 -0
  4. package/dist/bin/c4s/commands/ask.d.ts +6 -4
  5. package/dist/bin/c4s/commands/ask.js +41 -135
  6. package/dist/bin/c4s/commands/ask.js.map +1 -1
  7. package/dist/client/assets/{arc-grMo2vzL.js → arc-BaZhf2Hh.js} +1 -1
  8. package/dist/client/assets/{architectureDiagram-3BPJPVTR-Fp_VHONq.js → architectureDiagram-3BPJPVTR-CSSQUdKD.js} +1 -1
  9. package/dist/client/assets/{blockDiagram-GPEHLZMM-CIwVG0sx.js → blockDiagram-GPEHLZMM-BlmKwjoI.js} +1 -1
  10. package/dist/client/assets/{c4Diagram-AAUBKEIU-tysuJyz0.js → c4Diagram-AAUBKEIU-C7helt0Z.js} +1 -1
  11. package/dist/client/assets/channel-CHGfOh3d.js +1 -0
  12. package/dist/client/assets/{chunk-2J33WTMH-DZFNNwID.js → chunk-2J33WTMH-CC-e13sC.js} +1 -1
  13. package/dist/client/assets/{chunk-4BX2VUAB-CsnJG7Pv.js → chunk-4BX2VUAB-D-HpWY8q.js} +1 -1
  14. package/dist/client/assets/{chunk-55IACEB6-MhREYXzo.js → chunk-55IACEB6-BSPwaiEp.js} +1 -1
  15. package/dist/client/assets/{chunk-727SXJPM-BjvyGtK3.js → chunk-727SXJPM-CQbEHPPO.js} +1 -1
  16. package/dist/client/assets/{chunk-AQP2D5EJ-zfcfKNbO.js → chunk-AQP2D5EJ-BpSrKpmB.js} +1 -1
  17. package/dist/client/assets/{chunk-FMBD7UC4-Ckx-Hc8U.js → chunk-FMBD7UC4-zE1R3SR8.js} +1 -1
  18. package/dist/client/assets/{chunk-ND2GUHAM-DSIVVmYM.js → chunk-ND2GUHAM-CqN17qqH.js} +1 -1
  19. package/dist/client/assets/{chunk-QZHKN3VN-EcIM6ZdS.js → chunk-QZHKN3VN-13BvG3Jp.js} +1 -1
  20. package/dist/client/assets/classDiagram-4FO5ZUOK-DxbfnZUt.js +1 -0
  21. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-DxbfnZUt.js +1 -0
  22. package/dist/client/assets/{cose-bilkent-S5V4N54A-DC8DVe0z.js → cose-bilkent-S5V4N54A-CO574VR8.js} +1 -1
  23. package/dist/client/assets/{dagre-BM42HDAG-BQjcdXnw.js → dagre-BM42HDAG-BEVJuqdY.js} +1 -1
  24. package/dist/client/assets/{diagram-2AECGRRQ-BUPeBMwt.js → diagram-2AECGRRQ-CGCBS-dy.js} +1 -1
  25. package/dist/client/assets/{diagram-5GNKFQAL-I_Q-Pnp6.js → diagram-5GNKFQAL-Dyq0_Rlp.js} +1 -1
  26. package/dist/client/assets/{diagram-KO2AKTUF-B8WbbWJu.js → diagram-KO2AKTUF-BpiCh3Ed.js} +1 -1
  27. package/dist/client/assets/{diagram-LMA3HP47-CsACxgW7.js → diagram-LMA3HP47-XJeaihzL.js} +1 -1
  28. package/dist/client/assets/{diagram-OG6HWLK6-lPuJxQED.js → diagram-OG6HWLK6-Bb_LX7wz.js} +1 -1
  29. package/dist/client/assets/{erDiagram-TEJ5UH35-cU5ZGREz.js → erDiagram-TEJ5UH35-D-slZ-dN.js} +1 -1
  30. package/dist/client/assets/{flowDiagram-I6XJVG4X-Dr-vZTBV.js → flowDiagram-I6XJVG4X-B_SOoctl.js} +1 -1
  31. package/dist/client/assets/{ganttDiagram-6RSMTGT7-CXiWZ0R8.js → ganttDiagram-6RSMTGT7-B3UsanUx.js} +1 -1
  32. package/dist/client/assets/{gitGraphDiagram-PVQCEYII-PDvLBbvz.js → gitGraphDiagram-PVQCEYII-C9RzuImP.js} +1 -1
  33. package/dist/client/assets/{index-BQltseJ-.js → index-BnYPnnod.js} +1 -1
  34. package/dist/client/assets/{index-RMlMPKY7.js → index-CQBB3Uf4.js} +1 -1
  35. package/dist/client/assets/index-DamovIDe.js +752 -0
  36. package/dist/client/assets/{index-zpHL2aYW.css → index-yeyi8oQf.css} +1 -1
  37. package/dist/client/assets/{infoDiagram-5YYISTIA-Re9fOUPS.js → infoDiagram-5YYISTIA-CcaL3dnH.js} +1 -1
  38. package/dist/client/assets/{ishikawaDiagram-YF4QCWOH-BTazB_7p.js → ishikawaDiagram-YF4QCWOH-Drl0TLDq.js} +1 -1
  39. package/dist/client/assets/{journeyDiagram-JHISSGLW-pGUoqxHl.js → journeyDiagram-JHISSGLW-Ia46_5df.js} +1 -1
  40. package/dist/client/assets/{kanban-definition-UN3LZRKU-C2RzCJrM.js → kanban-definition-UN3LZRKU-CkDPRy8x.js} +1 -1
  41. package/dist/client/assets/{linear-Be3WPYKf.js → linear-BJ5HYD7N.js} +1 -1
  42. package/dist/client/assets/{mermaid.core-GdPXct3q.js → mermaid.core-DohfSRYI.js} +4 -4
  43. package/dist/client/assets/{mindmap-definition-RKZ34NQL-DvktVTUU.js → mindmap-definition-RKZ34NQL-CN1i3cXM.js} +1 -1
  44. package/dist/client/assets/{pieDiagram-4H26LBE5-DvC_m4m5.js → pieDiagram-4H26LBE5-Boz7UISz.js} +1 -1
  45. package/dist/client/assets/{quadrantDiagram-W4KKPZXB-SWtidcZL.js → quadrantDiagram-W4KKPZXB-DOBPTFZq.js} +1 -1
  46. package/dist/client/assets/{requirementDiagram-4Y6WPE33-CQEHDx1W.js → requirementDiagram-4Y6WPE33-c0jMOQGX.js} +1 -1
  47. package/dist/client/assets/{sankeyDiagram-5OEKKPKP-C0PTA3gP.js → sankeyDiagram-5OEKKPKP-D-AwIne0.js} +1 -1
  48. package/dist/client/assets/{sequenceDiagram-3UESZ5HK-D-x7SXoo.js → sequenceDiagram-3UESZ5HK-BgMjP-Q1.js} +1 -1
  49. package/dist/client/assets/{stateDiagram-AJRCARHV-BhcGVfs1.js → stateDiagram-AJRCARHV-8qvFMuv5.js} +1 -1
  50. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-Doe04F42.js +1 -0
  51. package/dist/client/assets/{timeline-definition-PNZ67QCA-JYTlKPB-.js → timeline-definition-PNZ67QCA-Q1t7Xr5L.js} +1 -1
  52. package/dist/client/assets/{vennDiagram-CIIHVFJN-KjNL1Qpz.js → vennDiagram-CIIHVFJN-atIUY_uM.js} +1 -1
  53. package/dist/client/assets/{wardley-L42UT6IY-DcljmmEY.js → wardley-L42UT6IY-Dg8nGqpF.js} +1 -1
  54. package/dist/client/assets/{wardleyDiagram-YWT4CUSO-Pbq6ALgg.js → wardleyDiagram-YWT4CUSO-B26t7Hde.js} +1 -1
  55. package/dist/client/assets/{xychartDiagram-2RQKCTM6-G_r_2Cvk.js → xychartDiagram-2RQKCTM6-uz4jM4Hi.js} +1 -1
  56. package/dist/client/index.html +2 -2
  57. package/dist/core/ask/run-ask.d.ts +37 -0
  58. package/dist/core/ask/run-ask.js +171 -0
  59. package/dist/core/ask/run-ask.js.map +1 -0
  60. package/dist/server/config.d.ts +6 -0
  61. package/dist/server/config.js +19 -0
  62. package/dist/server/config.js.map +1 -1
  63. package/dist/server/core/plugin-host/host.js +8 -8
  64. package/dist/server/core/plugin-host/host.js.map +1 -1
  65. package/dist/server/core/plugin-host/types.d.ts +22 -7
  66. package/dist/server/db/migrations/030_remote_session.sql +29 -0
  67. package/dist/server/entities/ac/plugin.js +1 -1
  68. package/dist/server/entities/ac/plugin.js.map +1 -1
  69. package/dist/server/entities/ac/system-prompt.js +6 -6
  70. package/dist/server/entities/ac/system-prompt.js.map +1 -1
  71. package/dist/server/entities/database-table/plugin.js +1 -1
  72. package/dist/server/entities/database-table/plugin.js.map +1 -1
  73. package/dist/server/entities/dto/plugin.js +1 -1
  74. package/dist/server/entities/dto/plugin.js.map +1 -1
  75. package/dist/server/entities/endpoint/plugin.js +1 -1
  76. package/dist/server/entities/endpoint/plugin.js.map +1 -1
  77. package/dist/server/entities/ui-view/plugin.js +1 -1
  78. package/dist/server/entities/ui-view/plugin.js.map +1 -1
  79. package/dist/server/external-skills/brief-implementer-template.d.ts +1 -1
  80. package/dist/server/external-skills/brief-implementer-template.js +18 -14
  81. package/dist/server/external-skills/brief-implementer-template.js.map +1 -1
  82. package/dist/server/index.js +19 -6
  83. package/dist/server/index.js.map +1 -1
  84. package/dist/server/mcp/brief-tools.d.ts +2 -4
  85. package/dist/server/mcp/brief-tools.js +4 -25
  86. package/dist/server/mcp/brief-tools.js.map +1 -1
  87. package/dist/server/mcp/c4s-tools.d.ts +15 -0
  88. package/dist/server/mcp/c4s-tools.js +67 -0
  89. package/dist/server/mcp/c4s-tools.js.map +1 -0
  90. package/dist/server/routes/agent-turn.js +9 -2
  91. package/dist/server/routes/agent-turn.js.map +1 -1
  92. package/dist/server/routes/errors.js +3 -0
  93. package/dist/server/routes/errors.js.map +1 -1
  94. package/dist/server/routes/remote-account.d.ts +8 -0
  95. package/dist/server/routes/remote-account.js +49 -0
  96. package/dist/server/routes/remote-account.js.map +1 -0
  97. package/dist/server/services/chat-context.d.ts +4 -0
  98. package/dist/server/services/chat-context.js +24 -6
  99. package/dist/server/services/chat-context.js.map +1 -1
  100. package/dist/server/services/plan.js +6 -6
  101. package/dist/server/services/plan.js.map +1 -1
  102. package/dist/server/services/remote-auth.d.ts +31 -0
  103. package/dist/server/services/remote-auth.js +124 -0
  104. package/dist/server/services/remote-auth.js.map +1 -0
  105. package/dist/server/services/remote-http-client.d.ts +85 -0
  106. package/dist/server/services/remote-http-client.js +107 -0
  107. package/dist/server/services/remote-http-client.js.map +1 -0
  108. package/dist/server/skills/brief-author/SKILL.md +0 -1
  109. package/dist/shared/remote-account.d.ts +58 -0
  110. package/dist/shared/remote-account.js +8 -0
  111. package/dist/shared/remote-account.js.map +1 -0
  112. package/package.json +1 -1
  113. package/dist/client/assets/channel-B30S19wt.js +0 -1
  114. package/dist/client/assets/classDiagram-4FO5ZUOK-Bm4SZLsb.js +0 -1
  115. package/dist/client/assets/classDiagram-v2-Q7XG4LA2-Bm4SZLsb.js +0 -1
  116. package/dist/client/assets/index-YFPhJxE5.js +0 -737
  117. package/dist/client/assets/stateDiagram-v2-BHNVJYJU-2vcyLY1V.js +0 -1
@@ -1 +1 @@
1
- {"version":3,"file":"chat-context.js","sourceRoot":"","sources":["../../../src/server/services/chat-context.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"chat-context.js","sourceRoot":"","sources":["../../../src/server/services/chat-context.ts"],"names":[],"mappings":"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"}
@@ -141,10 +141,10 @@ export class PlanService {
141
141
  return null;
142
142
  return [
143
143
  '<system-reminder>',
144
- 'Plan został zaktualizowany w innym wątku.',
145
- `Ostatnia wersja widziana w tym wątku: v${lastSeen}.`,
146
- `Aktualna wersja: v${row.current_version}.`,
147
- 'Wykonaj get_plan, aby pobrać aktualny plan przed dalszą pracą.',
144
+ 'The plan was updated in another thread.',
145
+ `Last version seen in this thread: v${lastSeen}.`,
146
+ `Current version: v${row.current_version}.`,
147
+ 'Run get_plan to fetch the current plan before continuing.',
148
148
  '</system-reminder>',
149
149
  ].join('\n');
150
150
  }
@@ -268,7 +268,7 @@ export class PlanService {
268
268
  if (mode === 'new-session') {
269
269
  const { threadId: newThreadId } = this.attachThreadToPlan(plan.id);
270
270
  this.chat.updateThreadSettings(newThreadId, { planMode: false });
271
- const firstMessage = `Wykonuje plan v${plan.currentVersion} — wyłaczam planMode i prosze o realizacje.`;
271
+ const firstMessage = `Executing plan v${plan.currentVersion} — disabling planMode and proceeding with implementation.`;
272
272
  return {
273
273
  mode: 'new-session',
274
274
  newThreadId,
@@ -293,7 +293,7 @@ export class PlanService {
293
293
  this.db
294
294
  .prepare(`UPDATE chat_thread SET plan_mode = 0, updated_at = datetime('now') WHERE id = ?`)
295
295
  .run(threadId);
296
- const firstMessage = `Wykonuje plan v${plan.currentVersion} — wyłaczam planMode i prosze o realizacje.`;
296
+ const firstMessage = `Executing plan v${plan.currentVersion} — disabling planMode and proceeding with implementation.`;
297
297
  return {
298
298
  mode: 'continue',
299
299
  threadId,
@@ -1 +1 @@
1
- {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
1
+ {"version":3,"file":"plan.js","sourceRoot":"","sources":["../../../src/server/services/plan.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,31 @@
1
+ import type Database from 'better-sqlite3';
2
+ import { RemoteHttpClient } from './remote-http-client.js';
3
+ import type { DeviceLoginPollResponse, DeviceLoginStartResponse, RemoteAccountResponse } from '../../shared/remote-account.js';
4
+ /**
5
+ * M24 — authenticates c4s against the remote API via OAuth Device Authorization
6
+ * Grant. Login is a human action (no MCP tool): the agent never logs in or
7
+ * touches the device flow. The token is an operational secret kept in
8
+ * `remote_session` and never returned to the UI.
9
+ */
10
+ export declare class RemoteAuthService {
11
+ private db;
12
+ private client;
13
+ private flow;
14
+ constructor(db: Database.Database, client: RemoteHttpClient);
15
+ /** POST /api/remote-account/login/start. */
16
+ startDeviceFlow(): Promise<DeviceLoginStartResponse>;
17
+ /** POST /api/remote-account/login/poll. */
18
+ pollDeviceFlow(): Promise<DeviceLoginPollResponse>;
19
+ /** GET /api/remote-account. Never exposes access_token. */
20
+ getCurrentAccount(): RemoteAccountResponse;
21
+ /** POST /api/remote-account/logout. Idempotent; also aborts an in-flight device flow. */
22
+ logout(): RemoteAccountResponse;
23
+ private readSession;
24
+ /**
25
+ * Fetch the account profile (email/status), then atomically replace the
26
+ * single `remote_session` row. Profile-first so a failed enrich never leaves
27
+ * a half-written row; a 401 here means the freshly-issued token was already
28
+ * rejected — surface as unauthenticated without persisting.
29
+ */
30
+ private persistSession;
31
+ }
@@ -0,0 +1,124 @@
1
+ import { DomainError } from './tags.js';
2
+ import { RemoteUnauthorizedError, } from './remote-http-client.js';
3
+ /**
4
+ * M24 — authenticates c4s against the remote API via OAuth Device Authorization
5
+ * Grant. Login is a human action (no MCP tool): the agent never logs in or
6
+ * touches the device flow. The token is an operational secret kept in
7
+ * `remote_session` and never returned to the UI.
8
+ */
9
+ export class RemoteAuthService {
10
+ db;
11
+ client;
12
+ flow = null;
13
+ constructor(db, client) {
14
+ this.db = db;
15
+ this.client = client;
16
+ }
17
+ /** POST /api/remote-account/login/start. */
18
+ async startDeviceFlow() {
19
+ const r = await this.client.startDeviceFlow();
20
+ this.flow = {
21
+ deviceCode: r.device_code,
22
+ interval: r.interval,
23
+ expiresAt: Date.now() + r.expires_in * 1000,
24
+ };
25
+ // device_code is intentionally NOT returned — the backend supplies it when polling.
26
+ return {
27
+ user_code: r.user_code,
28
+ verification_uri: r.verification_uri,
29
+ verification_uri_complete: r.verification_uri_complete,
30
+ interval: r.interval,
31
+ expires_in: r.expires_in,
32
+ };
33
+ }
34
+ /** POST /api/remote-account/login/poll. */
35
+ async pollDeviceFlow() {
36
+ if (!this.flow) {
37
+ throw new DomainError('NO_ACTIVE_FLOW', 'no active device flow; call login/start first');
38
+ }
39
+ const result = await this.client.pollDeviceToken(this.flow.deviceCode);
40
+ if (result.ok) {
41
+ const account = await this.persistSession(result.token);
42
+ this.flow = null;
43
+ return { status: 'authorized', account };
44
+ }
45
+ const status = mapPollStatus(result.error);
46
+ if (status === 'slow_down') {
47
+ this.flow.interval += 5; // RFC 8628: back off by a fixed step
48
+ return { status, interval: this.flow.interval };
49
+ }
50
+ if (status !== 'pending') {
51
+ this.flow = null; // terminal — drop the flow
52
+ return { status, message: result.description };
53
+ }
54
+ return { status }; // pending — keep polling
55
+ }
56
+ /** GET /api/remote-account. Never exposes access_token. */
57
+ getCurrentAccount() {
58
+ const row = this.readSession();
59
+ return row ? toRemoteAccount(row) : { connected: false };
60
+ }
61
+ /** POST /api/remote-account/logout. Idempotent; also aborts an in-flight device flow. */
62
+ logout() {
63
+ this.flow = null;
64
+ this.db.prepare('DELETE FROM remote_session').run();
65
+ return { connected: false };
66
+ }
67
+ // --- internals ----------------------------------------------------------
68
+ readSession() {
69
+ return (this.db.prepare('SELECT * FROM remote_session LIMIT 1').get() ?? null);
70
+ }
71
+ /**
72
+ * Fetch the account profile (email/status), then atomically replace the
73
+ * single `remote_session` row. Profile-first so a failed enrich never leaves
74
+ * a half-written row; a 401 here means the freshly-issued token was already
75
+ * rejected — surface as unauthenticated without persisting.
76
+ */
77
+ async persistSession(token) {
78
+ let profile;
79
+ try {
80
+ profile = await this.client.getAccount(token.access_token);
81
+ }
82
+ catch (err) {
83
+ if (err instanceof RemoteUnauthorizedError) {
84
+ throw new DomainError('REMOTE_UNAUTHORIZED', 'remote session expired; log in again');
85
+ }
86
+ throw err;
87
+ }
88
+ const tx = this.db.transaction(() => {
89
+ this.db.prepare('DELETE FROM remote_session').run();
90
+ this.db
91
+ .prepare(`INSERT INTO remote_session
92
+ (access_token, token_id, issued_at, remote_account_id, account_email, account_status)
93
+ VALUES (?, ?, ?, ?, ?, ?)`)
94
+ .run(token.access_token, token.token_id, token.issued_at, token.account_id, profile.email, profile.status);
95
+ });
96
+ tx();
97
+ return this.getCurrentAccount();
98
+ }
99
+ }
100
+ /** Maps the remote device-token enum onto M24's own poll-status enum. */
101
+ function mapPollStatus(error) {
102
+ switch (error) {
103
+ case 'authorization_pending':
104
+ return 'pending';
105
+ case 'slow_down':
106
+ return 'slow_down';
107
+ case 'expired_token':
108
+ return 'expired';
109
+ case 'access_denied':
110
+ return 'denied';
111
+ case 'invalid_grant':
112
+ return 'invalid';
113
+ }
114
+ }
115
+ function toRemoteAccount(row) {
116
+ return {
117
+ connected: true,
118
+ remoteAccountId: row.remote_account_id,
119
+ accountEmail: row.account_email,
120
+ accountStatus: row.account_status === 'deactivated' ? 'deactivated' : 'active',
121
+ connectedAt: row.connected_at,
122
+ };
123
+ }
124
+ //# sourceMappingURL=remote-auth.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-auth.js","sourceRoot":"","sources":["../../../src/server/services/remote-auth.ts"],"names":[],"mappings":"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"}
@@ -0,0 +1,85 @@
1
+ /**
2
+ * M24 — the single abstraction over `fetch` to the remote claude4spec-API.
3
+ * Owned by M24, consumed by future M25; no other module talks to the remote
4
+ * directly. Base URL = `config.remoteApiUrl ?? PROD_REMOTE_URL` (the override is
5
+ * dev/staging only — it is never persisted to `remote_session`, never logged,
6
+ * and is not a secret). The Bearer is injected into owner-only calls only;
7
+ * `/v1/auth/device/*` are unauthenticated.
8
+ *
9
+ * The remote wire contracts mirrored below are the claude4spec-api M02/M03 DTOs
10
+ * (`@c4s/types`), duplicated here as local interfaces because the two repos do
11
+ * not share a package.
12
+ */
13
+ /** Hardcoded production remote. `config.remoteApiUrl` overrides for dev/staging. */
14
+ export declare const PROD_REMOTE_URL = "https://claude4spec.inharness.ai";
15
+ export interface DeviceCodeResponse {
16
+ device_code: string;
17
+ user_code: string;
18
+ verification_uri: string;
19
+ verification_uri_complete: string;
20
+ expires_in: number;
21
+ interval: number;
22
+ }
23
+ export interface DeviceTokenResponse {
24
+ access_token: string;
25
+ token_type: 'Bearer';
26
+ token_id: string;
27
+ account_id: string;
28
+ issued_at: string;
29
+ }
30
+ export type DeviceTokenError = 'authorization_pending' | 'slow_down' | 'expired_token' | 'access_denied' | 'invalid_grant';
31
+ export interface DeviceTokenErrorResponse {
32
+ error: DeviceTokenError;
33
+ error_description?: string;
34
+ }
35
+ export type AccountStatus = 'active' | 'deactivated';
36
+ export interface AccountProfileResponse {
37
+ id: string;
38
+ email: string;
39
+ status: AccountStatus;
40
+ }
41
+ /** Result of the polling exchange: a one-time success or a polling-state error. */
42
+ export type DeviceTokenResult = {
43
+ ok: true;
44
+ token: DeviceTokenResponse;
45
+ } | {
46
+ ok: false;
47
+ error: DeviceTokenError;
48
+ description?: string;
49
+ };
50
+ /**
51
+ * Thrown when an owner-only remote call returns 401 — the caller must clear the
52
+ * local `remote_session` and force a fresh device flow.
53
+ */
54
+ export declare class RemoteUnauthorizedError extends Error {
55
+ constructor(message?: string);
56
+ }
57
+ /** Thrown for transport-level failures (connection refused / 5xx / unexpected shape). */
58
+ export declare class RemoteRequestError extends Error {
59
+ status?: number | undefined;
60
+ constructor(message: string, status?: number | undefined);
61
+ }
62
+ export declare class RemoteHttpClient {
63
+ private readonly baseUrl;
64
+ constructor(remoteApiUrl: string | null | undefined);
65
+ get base(): string;
66
+ /** POST /v1/auth/device/code — unauthenticated. Initiates the device flow. */
67
+ startDeviceFlow(): Promise<DeviceCodeResponse>;
68
+ /**
69
+ * POST /v1/auth/device/token — unauthenticated, authorized by the device_code
70
+ * itself. 200 → token (issued once); 400 → polling-state envelope
71
+ * (authorization_pending / slow_down / terminal).
72
+ */
73
+ pollDeviceToken(deviceCode: string): Promise<DeviceTokenResult>;
74
+ /** GET /v1/account — owner-only (Bearer). 401 → RemoteUnauthorizedError. */
75
+ getAccount(accessToken: string): Promise<AccountProfileResponse>;
76
+ private fetchRemote;
77
+ }
78
+ /**
79
+ * Startup reachability check for an explicit `config.remoteApiUrl` override.
80
+ * "Reachable" = the host answers at all (any HTTP status); only a transport
81
+ * failure / timeout counts as unreachable. No fallback to PROD_REMOTE_URL — an
82
+ * explicit override must be honoured or reported (brief §1). Throws with the
83
+ * exact contract message.
84
+ */
85
+ export declare function assertRemoteApiReachable(remoteApiUrl: string, timeoutMs?: number): Promise<void>;
@@ -0,0 +1,107 @@
1
+ /**
2
+ * M24 — the single abstraction over `fetch` to the remote claude4spec-API.
3
+ * Owned by M24, consumed by future M25; no other module talks to the remote
4
+ * directly. Base URL = `config.remoteApiUrl ?? PROD_REMOTE_URL` (the override is
5
+ * dev/staging only — it is never persisted to `remote_session`, never logged,
6
+ * and is not a secret). The Bearer is injected into owner-only calls only;
7
+ * `/v1/auth/device/*` are unauthenticated.
8
+ *
9
+ * The remote wire contracts mirrored below are the claude4spec-api M02/M03 DTOs
10
+ * (`@c4s/types`), duplicated here as local interfaces because the two repos do
11
+ * not share a package.
12
+ */
13
+ /** Hardcoded production remote. `config.remoteApiUrl` overrides for dev/staging. */
14
+ export const PROD_REMOTE_URL = 'https://claude4spec.inharness.ai';
15
+ /**
16
+ * Thrown when an owner-only remote call returns 401 — the caller must clear the
17
+ * local `remote_session` and force a fresh device flow.
18
+ */
19
+ export class RemoteUnauthorizedError extends Error {
20
+ constructor(message = 'remote session expired') {
21
+ super(message);
22
+ this.name = 'RemoteUnauthorizedError';
23
+ }
24
+ }
25
+ /** Thrown for transport-level failures (connection refused / 5xx / unexpected shape). */
26
+ export class RemoteRequestError extends Error {
27
+ status;
28
+ constructor(message, status) {
29
+ super(message);
30
+ this.status = status;
31
+ this.name = 'RemoteRequestError';
32
+ }
33
+ }
34
+ export class RemoteHttpClient {
35
+ baseUrl;
36
+ constructor(remoteApiUrl) {
37
+ this.baseUrl = (remoteApiUrl ?? PROD_REMOTE_URL).replace(/\/+$/, '');
38
+ }
39
+ get base() {
40
+ return this.baseUrl;
41
+ }
42
+ /** POST /v1/auth/device/code — unauthenticated. Initiates the device flow. */
43
+ async startDeviceFlow() {
44
+ const res = await this.fetchRemote('/v1/auth/device/code', { method: 'POST' });
45
+ if (!res.ok)
46
+ throw new RemoteRequestError(`device/code failed (HTTP ${res.status})`, res.status);
47
+ return (await res.json());
48
+ }
49
+ /**
50
+ * POST /v1/auth/device/token — unauthenticated, authorized by the device_code
51
+ * itself. 200 → token (issued once); 400 → polling-state envelope
52
+ * (authorization_pending / slow_down / terminal).
53
+ */
54
+ async pollDeviceToken(deviceCode) {
55
+ const res = await this.fetchRemote('/v1/auth/device/token', {
56
+ method: 'POST',
57
+ headers: { 'content-type': 'application/json' },
58
+ body: JSON.stringify({ device_code: deviceCode }),
59
+ });
60
+ if (res.ok) {
61
+ return { ok: true, token: (await res.json()) };
62
+ }
63
+ if (res.status === 400) {
64
+ const body = (await res.json().catch(() => null));
65
+ if (body?.error)
66
+ return { ok: false, error: body.error, description: body.error_description };
67
+ }
68
+ throw new RemoteRequestError(`device/token failed (HTTP ${res.status})`, res.status);
69
+ }
70
+ /** GET /v1/account — owner-only (Bearer). 401 → RemoteUnauthorizedError. */
71
+ async getAccount(accessToken) {
72
+ const res = await this.fetchRemote('/v1/account', {
73
+ method: 'GET',
74
+ headers: { authorization: `Bearer ${accessToken}` },
75
+ });
76
+ if (res.status === 401)
77
+ throw new RemoteUnauthorizedError();
78
+ if (!res.ok)
79
+ throw new RemoteRequestError(`GET /v1/account failed (HTTP ${res.status})`, res.status);
80
+ return (await res.json());
81
+ }
82
+ async fetchRemote(path, init) {
83
+ try {
84
+ return await fetch(`${this.baseUrl}${path}`, init);
85
+ }
86
+ catch (err) {
87
+ throw new RemoteRequestError(`request to remote ${path} failed: ${err.message}`);
88
+ }
89
+ }
90
+ }
91
+ /**
92
+ * Startup reachability check for an explicit `config.remoteApiUrl` override.
93
+ * "Reachable" = the host answers at all (any HTTP status); only a transport
94
+ * failure / timeout counts as unreachable. No fallback to PROD_REMOTE_URL — an
95
+ * explicit override must be honoured or reported (brief §1). Throws with the
96
+ * exact contract message.
97
+ */
98
+ export async function assertRemoteApiReachable(remoteApiUrl, timeoutMs = 3000) {
99
+ const base = remoteApiUrl.replace(/\/+$/, '');
100
+ try {
101
+ await fetch(`${base}/v1/health`, { method: 'HEAD', signal: AbortSignal.timeout(timeoutMs) });
102
+ }
103
+ catch {
104
+ throw new Error(`config.json: field 'remoteApiUrl': invalid URL or unreachable host`);
105
+ }
106
+ }
107
+ //# sourceMappingURL=remote-http-client.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-http-client.js","sourceRoot":"","sources":["../../../src/server/services/remote-http-client.ts"],"names":[],"mappings":"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"}
@@ -21,7 +21,6 @@ The system prompt already binds you to the **self-contained invariant**: the bri
21
21
  **Available tools:**
22
22
  - `get_brief` — read the current brief state. Returns `{ frontmatter, body, content, hash }`. Use `hash` as `expectedHash` for the next `update_brief` to detect concurrent edits.
23
23
  - `update_brief` — edit the body via `replace`, `append`, or `insert_after_section`. You CANNOT modify frontmatter (immutable: `type`, `from_release`, `to_release`, `generated_at`, `generator_version`).
24
- - `list_brief_versions` / `get_brief_version` — inspect history, diff against earlier versions.
25
24
  - `release-tools` (read-only) — `release_list`, `release_show`, and `release_diff(fromIdOrName, toIdOrName, include?, entityTypes?)` returning a self-contained `MCPReleaseDiff`. Use `release_diff(brief.frontmatter.from_release, brief.frontmatter.to_release)` to obtain the `MCPReleaseDiff` that grounds your narrative — one round-trip is all you need.
26
25
 
27
26
  **`release-tools` is the ONLY plugin MCP available in this thread.** There is no `get_endpoint` / `get_dto` / `get_database-table` / `get_ui-view` / `get_ac`, no `Read pages/...`, no `Grep`, no filesystem. The `MCPReleaseDiff` payload is your entire ground truth — every snapshot you need is carried inside it.
@@ -0,0 +1,58 @@
1
+ /**
2
+ * M24 Remote Account — DTOs exposed by `/api/remote-account/*` to the c4s
3
+ * client. These are M24's OWN surface, intentionally decoupled from the
4
+ * remote-API wire format (claude4spec-api `@c4s/types`). The backend
5
+ * (`remote-auth.ts`) maps the remote's device-flow contract onto these shapes.
6
+ */
7
+ /**
8
+ * `POST /api/remote-account/login/start` — device flow initiated. The raw
9
+ * `device_code` is NOT exposed: the backend keeps it in memory (single flow per
10
+ * c4s instance) and supplies it itself when polling, so the secret never lands
11
+ * in the browser.
12
+ */
13
+ export interface DeviceLoginStartResponse {
14
+ /** Short human-readable code (format `XXXX-XXXX`) typed on the verification page. */
15
+ user_code: string;
16
+ /** Verification page URL without the code (fallback). */
17
+ verification_uri: string;
18
+ /** Verification URL with the code prefilled — primary CTA (qr-code-ready). */
19
+ verification_uri_complete: string;
20
+ /** Seconds between polls; the client increases it when the remote says `slow_down`. */
21
+ interval: number;
22
+ /** Flow TTL in seconds; once exceeded the flow goes terminal `expired`. */
23
+ expires_in: number;
24
+ }
25
+ /**
26
+ * Status surfaced by `POST /api/remote-account/login/poll`. Non-terminal:
27
+ * `pending` / `slow_down` (keep polling). Terminal: `authorized` (session
28
+ * saved) and `expired` / `denied` / `invalid` (stop). Mapped from the remote
29
+ * device-token enum (`authorization_pending | slow_down | expired_token |
30
+ * access_denied | invalid_grant`).
31
+ */
32
+ export type DeviceLoginStatus = 'pending' | 'slow_down' | 'authorized' | 'expired' | 'denied' | 'invalid';
33
+ export interface DeviceLoginPollResponse {
34
+ status: DeviceLoginStatus;
35
+ /** Only for `slow_down` — new recommended interval (seconds). */
36
+ interval?: number;
37
+ /** User-facing message for terminal errors. */
38
+ message?: string;
39
+ /** Only for `authorized` — lets the UI jump straight to "connected as X" without a follow-up GET. */
40
+ account?: RemoteAccountResponse;
41
+ }
42
+ /**
43
+ * `GET /api/remote-account` — the sidebar's identity source. NEVER exposes
44
+ * `access_token`. Stable contract consumed by the sidebar (TanStack Query key
45
+ * `["remote-account"]`) and, later, by M25 publish.
46
+ */
47
+ export interface RemoteAccountResponse {
48
+ /** `true` when a `remote_session` row exists. */
49
+ connected: boolean;
50
+ /** UUID of the remote account (`remote_session.remote_account_id`). */
51
+ remoteAccountId?: string;
52
+ /** UI label — the only "connected as X" identity the remote exposes. */
53
+ accountEmail?: string;
54
+ /** `deactivated` blocks publish (M25). */
55
+ accountStatus?: 'active' | 'deactivated';
56
+ /** ISO 8601 from `remote_session.connected_at`. */
57
+ connectedAt?: string;
58
+ }
@@ -0,0 +1,8 @@
1
+ /**
2
+ * M24 Remote Account — DTOs exposed by `/api/remote-account/*` to the c4s
3
+ * client. These are M24's OWN surface, intentionally decoupled from the
4
+ * remote-API wire format (claude4spec-api `@c4s/types`). The backend
5
+ * (`remote-auth.ts`) maps the remote's device-flow contract onto these shapes.
6
+ */
7
+ export {};
8
+ //# sourceMappingURL=remote-account.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"remote-account.js","sourceRoot":"","sources":["../../src/shared/remote-account.ts"],"names":[],"mappings":"AAAA;;;;;GAKG"}
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@inharness-ai/claude4spec",
3
- "version": "1.0.5",
3
+ "version": "1.0.7",
4
4
  "description": "Plan the whole system before your agent writes a line of code. Local-first planning layer with structured entities and typed relations.",
5
5
  "license": "MIT",
6
6
  "author": "Michael Tomala <mi.tomala@gmail.com>",
@@ -1 +0,0 @@
1
- import{ai as o,aj as n}from"./mermaid.core-GdPXct3q.js";const t=(a,r)=>o.lang.round(n.parse(a)[r]);export{t as c};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-BjvyGtK3.js";import{_ as i}from"./mermaid.core-GdPXct3q.js";import"./chunk-FMBD7UC4-Ckx-Hc8U.js";import"./chunk-ND2GUHAM-DSIVVmYM.js";import"./chunk-55IACEB6-MhREYXzo.js";import"./chunk-2J33WTMH-DZFNNwID.js";import"./index-YFPhJxE5.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};
@@ -1 +0,0 @@
1
- import{s as a,c as s,a as e,C as t}from"./chunk-727SXJPM-BjvyGtK3.js";import{_ as i}from"./mermaid.core-GdPXct3q.js";import"./chunk-FMBD7UC4-Ckx-Hc8U.js";import"./chunk-ND2GUHAM-DSIVVmYM.js";import"./chunk-55IACEB6-MhREYXzo.js";import"./chunk-2J33WTMH-DZFNNwID.js";import"./index-YFPhJxE5.js";var n={parser:e,get db(){return new t},renderer:s,styles:a,init:i(r=>{r.class||(r.class={}),r.class.arrowMarkerAbsolute=r.arrowMarkerAbsolute},"init")};export{n as diagram};