@opengeni/contracts 5.4.0-canary.36855269964001 → 5.4.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.
Files changed (46) hide show
  1. package/dist/atlassian.js +5 -7
  2. package/dist/{chunk-O77VSFYZ.js → chunk-IABHGRIB.js} +2 -9
  3. package/dist/chunk-IABHGRIB.js.map +1 -0
  4. package/dist/{chunk-KMOVCFEY.js → chunk-RSYFTR5M.js} +2 -2
  5. package/dist/{chunk-ORYGI2RL.js → chunk-U56WR2ES.js} +8261 -8469
  6. package/dist/chunk-U56WR2ES.js.map +1 -0
  7. package/dist/connect.js +5 -7
  8. package/dist/connect.js.map +1 -1
  9. package/dist/connection-authority.js +6 -8
  10. package/dist/google-drive.js +5 -7
  11. package/dist/google-drive.js.map +1 -1
  12. package/dist/host-mcp-bindings.js +6 -8
  13. package/dist/host-mcp-bindings.js.map +1 -1
  14. package/dist/index.d.ts +14 -239
  15. package/dist/index.js +47 -131
  16. package/dist/personal-github.js +5 -7
  17. package/dist/personal-github.js.map +1 -1
  18. package/dist/workspace-integration-wire.d.ts +1 -12
  19. package/dist/workspace-integration-wire.js +1 -5
  20. package/dist/workspace-integrations.d.ts +32 -374
  21. package/package.json +1 -13
  22. package/src/index.ts +13 -100
  23. package/src/session-goal-reports.ts +1 -11
  24. package/src/workspace-integration-wire.ts +0 -16
  25. package/src/workspace-integrations.ts +5 -201
  26. package/dist/allowance-refusal.d.ts +0 -9
  27. package/dist/allowance-refusal.js +0 -50
  28. package/dist/allowance-refusal.js.map +0 -1
  29. package/dist/chunk-EK7NDGFR.js +0 -128
  30. package/dist/chunk-EK7NDGFR.js.map +0 -1
  31. package/dist/chunk-KHHZTBP7.js +0 -11
  32. package/dist/chunk-KHHZTBP7.js.map +0 -1
  33. package/dist/chunk-O77VSFYZ.js.map +0 -1
  34. package/dist/chunk-ORYGI2RL.js.map +0 -1
  35. package/dist/claude-subscription-oauth.d.ts +0 -17
  36. package/dist/session-final-reply.d.ts +0 -6
  37. package/dist/session-final-reply.js +0 -9
  38. package/dist/session-final-reply.js.map +0 -1
  39. package/dist/usage-allowances.d.ts +0 -285
  40. package/dist/usage-allowances.js +0 -49
  41. package/dist/usage-allowances.js.map +0 -1
  42. package/src/allowance-refusal.ts +0 -81
  43. package/src/claude-subscription-oauth.ts +0 -32
  44. package/src/session-final-reply.ts +0 -16
  45. package/src/usage-allowances.ts +0 -187
  46. /package/dist/{chunk-KMOVCFEY.js.map → chunk-RSYFTR5M.js.map} +0 -0
package/dist/atlassian.js CHANGED
@@ -17,21 +17,18 @@ import {
17
17
  AtlassianSyncCadence,
18
18
  SaveAtlassianSourcesRequest,
19
19
  atlassianScopesAllowRead
20
- } from "./chunk-ORYGI2RL.js";
21
- import "./chunk-4JGHSSB7.js";
20
+ } from "./chunk-U56WR2ES.js";
22
21
  import "./chunk-5IXYF6XN.js";
23
22
  import "./chunk-HHZSZYYF.js";
24
23
  import "./chunk-NRMCVHAU.js";
25
24
  import "./chunk-WYBDERIY.js";
26
25
  import "./chunk-P3HLDT77.js";
27
- import "./chunk-5Q54VCCH.js";
28
- import "./chunk-EK7NDGFR.js";
29
- import "./chunk-KHHZTBP7.js";
30
- import "./chunk-O77VSFYZ.js";
26
+ import "./chunk-4JGHSSB7.js";
27
+ import "./chunk-IABHGRIB.js";
31
28
  import "./chunk-NVJMJWLL.js";
32
29
  import "./chunk-SIOU2K4U.js";
33
30
  import "./chunk-YRKRZ6OF.js";
34
- import "./chunk-YBW5JSA3.js";
31
+ import "./chunk-5Q54VCCH.js";
35
32
  import "./chunk-3SIZGL3O.js";
36
33
  import "./chunk-RIY7GYQS.js";
37
34
  import "./chunk-JUFK3T4Q.js";
@@ -44,6 +41,7 @@ import "./chunk-RKX3NQYS.js";
44
41
  import "./chunk-Y3KNXVTD.js";
45
42
  import "./chunk-TXTQIYCV.js";
46
43
  import "./chunk-PX3VCKAU.js";
44
+ import "./chunk-YBW5JSA3.js";
47
45
  export {
48
46
  ATLASSIAN_CREDENTIAL_LABEL,
49
47
  ATLASSIAN_CREDENTIAL_ROLE,
@@ -5,13 +5,8 @@ var WORKSPACE_WEBHOOK_EVENT_TYPES = [
5
5
  "turn.cancelled",
6
6
  "session.status.changed",
7
7
  "session.requiresAction",
8
- "session.humanInput.requested",
9
- "usage.threshold_reached",
10
- "usage.exhausted",
11
- "usage.period_reset"
8
+ "session.humanInput.requested"
12
9
  ];
13
- var OPENGENI_WEBHOOK_TEST_EVENT_TYPE = "webhook.test";
14
- var OPENGENI_TEST_REQUEST_NIL_ID = "00000000-0000-0000-0000-000000000000";
15
10
  var OPENGENI_SIGNATURE_HEADER = "OpenGeni-Signature";
16
11
  var OPENGENI_EVENT_ID_HEADER = "OpenGeni-Event-Id";
17
12
  var OPENGENI_DELIVERY_ID_HEADER = "OpenGeni-Delivery-Id";
@@ -58,8 +53,6 @@ async function verifyOpenGeniSignature(input) {
58
53
 
59
54
  export {
60
55
  WORKSPACE_WEBHOOK_EVENT_TYPES,
61
- OPENGENI_WEBHOOK_TEST_EVENT_TYPE,
62
- OPENGENI_TEST_REQUEST_NIL_ID,
63
56
  OPENGENI_SIGNATURE_HEADER,
64
57
  OPENGENI_EVENT_ID_HEADER,
65
58
  OPENGENI_DELIVERY_ID_HEADER,
@@ -67,4 +60,4 @@ export {
67
60
  signOpenGeniPayload,
68
61
  verifyOpenGeniSignature
69
62
  };
70
- //# sourceMappingURL=chunk-O77VSFYZ.js.map
63
+ //# sourceMappingURL=chunk-IABHGRIB.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"sources":["../src/workspace-integration-wire.ts"],"sourcesContent":["/**\n * Dependency-free wire constants and the OpenGeni-Signature scheme shared by\n * workspace webhooks and credential providers. Kept free of zod so browser and\n * React Native bundles can verify signatures without the schema runtime.\n */\n\nexport const WORKSPACE_WEBHOOK_EVENT_TYPES = [\n \"turn.completed\",\n \"turn.failed\",\n \"turn.cancelled\",\n \"session.status.changed\",\n \"session.requiresAction\",\n \"session.humanInput.requested\",\n] as const;\n\nexport const OPENGENI_SIGNATURE_HEADER = \"OpenGeni-Signature\";\nexport const OPENGENI_EVENT_ID_HEADER = \"OpenGeni-Event-Id\";\nexport const OPENGENI_DELIVERY_ID_HEADER = \"OpenGeni-Delivery-Id\";\nexport const OPENGENI_SIGNATURE_TOLERANCE_SECONDS = 300;\n\nconst encoder = new TextEncoder();\n\nasync function hmacSha256Hex(secret: string, message: string): Promise<string> {\n const key = await crypto.subtle.importKey(\n \"raw\",\n encoder.encode(secret),\n { name: \"HMAC\", hash: \"SHA-256\" },\n false,\n [\"sign\"],\n );\n const signature = new Uint8Array(await crypto.subtle.sign(\"HMAC\", key, encoder.encode(message)));\n return Array.from(signature, (byte) => byte.toString(16).padStart(2, \"0\")).join(\"\");\n}\n\nfunction constantTimeEqualHex(left: string, right: string): boolean {\n if (left.length !== right.length) return false;\n let difference = 0;\n for (let index = 0; index < left.length; index += 1) {\n difference |= left.charCodeAt(index) ^ right.charCodeAt(index);\n }\n return difference === 0;\n}\n\n/**\n * `OpenGeni-Signature: t=<unix seconds>,v1=<hex HMAC-SHA256(secret, \"<t>.<body>\")>`.\n * The timestamp is signed so a captured request cannot be replayed later.\n */\nexport async function signOpenGeniPayload(\n secret: string,\n body: string,\n timestampSeconds = Math.floor(Date.now() / 1000),\n): Promise<string> {\n return `t=${timestampSeconds},v1=${await hmacSha256Hex(secret, `${timestampSeconds}.${body}`)}`;\n}\n\nexport type VerifyOpenGeniSignatureInput = {\n secret: string;\n /** The exact raw request body, before JSON parsing. */\n body: string;\n /** The `OpenGeni-Signature` header value. */\n signature: string | null | undefined;\n toleranceSeconds?: number;\n nowSeconds?: number;\n};\n\nexport async function verifyOpenGeniSignature(\n input: VerifyOpenGeniSignatureInput,\n): Promise<boolean> {\n if (!input.signature) return false;\n let timestamp: number | null = null;\n const candidates: string[] = [];\n for (const part of input.signature.split(\",\")) {\n const [key, value] = part.trim().split(\"=\", 2);\n if (key === \"t\" && value && /^\\d{1,12}$/.test(value)) timestamp = Number(value);\n if (key === \"v1\" && value && /^[0-9a-f]{64}$/.test(value)) candidates.push(value);\n }\n if (timestamp === null || candidates.length === 0) return false;\n const now = input.nowSeconds ?? Math.floor(Date.now() / 1000);\n const tolerance = input.toleranceSeconds ?? OPENGENI_SIGNATURE_TOLERANCE_SECONDS;\n if (Math.abs(now - timestamp) > tolerance) return false;\n const expected = await hmacSha256Hex(input.secret, `${timestamp}.${input.body}`);\n return candidates.some((candidate) => constantTimeEqualHex(candidate, expected));\n}\n"],"mappings":";AAMO,IAAM,gCAAgC;AAAA,EAC3C;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AAAA,EACA;AACF;AAEO,IAAM,4BAA4B;AAClC,IAAM,2BAA2B;AACjC,IAAM,8BAA8B;AACpC,IAAM,uCAAuC;AAEpD,IAAM,UAAU,IAAI,YAAY;AAEhC,eAAe,cAAc,QAAgB,SAAkC;AAC7E,QAAM,MAAM,MAAM,OAAO,OAAO;AAAA,IAC9B;AAAA,IACA,QAAQ,OAAO,MAAM;AAAA,IACrB,EAAE,MAAM,QAAQ,MAAM,UAAU;AAAA,IAChC;AAAA,IACA,CAAC,MAAM;AAAA,EACT;AACA,QAAM,YAAY,IAAI,WAAW,MAAM,OAAO,OAAO,KAAK,QAAQ,KAAK,QAAQ,OAAO,OAAO,CAAC,CAAC;AAC/F,SAAO,MAAM,KAAK,WAAW,CAAC,SAAS,KAAK,SAAS,EAAE,EAAE,SAAS,GAAG,GAAG,CAAC,EAAE,KAAK,EAAE;AACpF;AAEA,SAAS,qBAAqB,MAAc,OAAwB;AAClE,MAAI,KAAK,WAAW,MAAM,OAAQ,QAAO;AACzC,MAAI,aAAa;AACjB,WAAS,QAAQ,GAAG,QAAQ,KAAK,QAAQ,SAAS,GAAG;AACnD,kBAAc,KAAK,WAAW,KAAK,IAAI,MAAM,WAAW,KAAK;AAAA,EAC/D;AACA,SAAO,eAAe;AACxB;AAMA,eAAsB,oBACpB,QACA,MACA,mBAAmB,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI,GAC9B;AACjB,SAAO,KAAK,gBAAgB,OAAO,MAAM,cAAc,QAAQ,GAAG,gBAAgB,IAAI,IAAI,EAAE,CAAC;AAC/F;AAYA,eAAsB,wBACpB,OACkB;AAClB,MAAI,CAAC,MAAM,UAAW,QAAO;AAC7B,MAAI,YAA2B;AAC/B,QAAM,aAAuB,CAAC;AAC9B,aAAW,QAAQ,MAAM,UAAU,MAAM,GAAG,GAAG;AAC7C,UAAM,CAAC,KAAK,KAAK,IAAI,KAAK,KAAK,EAAE,MAAM,KAAK,CAAC;AAC7C,QAAI,QAAQ,OAAO,SAAS,aAAa,KAAK,KAAK,EAAG,aAAY,OAAO,KAAK;AAC9E,QAAI,QAAQ,QAAQ,SAAS,iBAAiB,KAAK,KAAK,EAAG,YAAW,KAAK,KAAK;AAAA,EAClF;AACA,MAAI,cAAc,QAAQ,WAAW,WAAW,EAAG,QAAO;AAC1D,QAAM,MAAM,MAAM,cAAc,KAAK,MAAM,KAAK,IAAI,IAAI,GAAI;AAC5D,QAAM,YAAY,MAAM,oBAAoB;AAC5C,MAAI,KAAK,IAAI,MAAM,SAAS,IAAI,UAAW,QAAO;AAClD,QAAM,WAAW,MAAM,cAAc,MAAM,QAAQ,GAAG,SAAS,IAAI,MAAM,IAAI,EAAE;AAC/E,SAAO,WAAW,KAAK,CAAC,cAAc,qBAAqB,WAAW,QAAQ,CAAC;AACjF;","names":[]}
@@ -1,7 +1,7 @@
1
1
  import {
2
2
  ConnectionKind,
3
3
  SessionTenancyVisibility
4
- } from "./chunk-ORYGI2RL.js";
4
+ } from "./chunk-U56WR2ES.js";
5
5
 
6
6
  // src/connection-authority.ts
7
7
  import { z } from "zod";
@@ -183,4 +183,4 @@ export {
183
183
  ConnectionUseAuditFact,
184
184
  ConnectionUseAuthorizationResult
185
185
  };
186
- //# sourceMappingURL=chunk-KMOVCFEY.js.map
186
+ //# sourceMappingURL=chunk-RSYFTR5M.js.map