@open-everywhere/provider-discord 0.1.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 (166) hide show
  1. package/LICENSE +201 -0
  2. package/NOTICE +21 -0
  3. package/README.md +47 -0
  4. package/agent/access/discord-grant-click.ts +237 -0
  5. package/agent/approvals/discord-admin.ts +227 -0
  6. package/agent/approvals/discord-card.ts +248 -0
  7. package/agent/approvals/discord-flow.ts +469 -0
  8. package/agent/approvals/discord-scope-label.ts +27 -0
  9. package/agent/channels/discord-approval-card.ts +373 -0
  10. package/agent/channels/discord-backscroll.ts +593 -0
  11. package/agent/channels/discord-bot-name.ts +113 -0
  12. package/agent/channels/discord-channel-info.ts +83 -0
  13. package/agent/channels/discord-directory.ts +179 -0
  14. package/agent/channels/discord-dispatch-target.ts +103 -0
  15. package/agent/channels/discord-events.ts +175 -0
  16. package/agent/channels/discord-front.ts +355 -0
  17. package/agent/channels/discord-gateway.ts +3256 -0
  18. package/agent/channels/discord-identity.ts +269 -0
  19. package/agent/channels/discord-interaction-defer.ts +123 -0
  20. package/agent/channels/discord-message-ops.ts +127 -0
  21. package/agent/channels/discord-origin-codec.ts +105 -0
  22. package/agent/channels/discord-post-arm.ts +230 -0
  23. package/agent/channels/discord-post.ts +463 -0
  24. package/agent/channels/discord-read.ts +140 -0
  25. package/agent/channels/discord-rest.ts +85 -0
  26. package/agent/channels/discord.ts +244 -0
  27. package/agent/commands/discord-command-sync.ts +285 -0
  28. package/agent/commands/discord-commands.ts +291 -0
  29. package/agent/contributions.ts +31 -0
  30. package/agent/docs-generated.ts +15 -0
  31. package/agent/identity/discord-link-consent.ts +124 -0
  32. package/agent/ops.ts +14 -0
  33. package/agent/provider-events.ts +86 -0
  34. package/agent/register.ts +147 -0
  35. package/agent/surface-parity.ts +95 -0
  36. package/dist/agent/access/discord-grant-click.d.ts +25 -0
  37. package/dist/agent/access/discord-grant-click.d.ts.map +1 -0
  38. package/dist/agent/access/discord-grant-click.js +210 -0
  39. package/dist/agent/access/discord-grant-click.js.map +1 -0
  40. package/dist/agent/approvals/discord-admin.d.ts +63 -0
  41. package/dist/agent/approvals/discord-admin.d.ts.map +1 -0
  42. package/dist/agent/approvals/discord-admin.js +219 -0
  43. package/dist/agent/approvals/discord-admin.js.map +1 -0
  44. package/dist/agent/approvals/discord-card.d.ts +102 -0
  45. package/dist/agent/approvals/discord-card.d.ts.map +1 -0
  46. package/dist/agent/approvals/discord-card.js +217 -0
  47. package/dist/agent/approvals/discord-card.js.map +1 -0
  48. package/dist/agent/approvals/discord-flow.d.ts +109 -0
  49. package/dist/agent/approvals/discord-flow.d.ts.map +1 -0
  50. package/dist/agent/approvals/discord-flow.js +375 -0
  51. package/dist/agent/approvals/discord-flow.js.map +1 -0
  52. package/dist/agent/approvals/discord-scope-label.d.ts +3 -0
  53. package/dist/agent/approvals/discord-scope-label.d.ts.map +1 -0
  54. package/dist/agent/approvals/discord-scope-label.js +27 -0
  55. package/dist/agent/approvals/discord-scope-label.js.map +1 -0
  56. package/dist/agent/channels/discord-approval-card.d.ts +81 -0
  57. package/dist/agent/channels/discord-approval-card.d.ts.map +1 -0
  58. package/dist/agent/channels/discord-approval-card.js +303 -0
  59. package/dist/agent/channels/discord-approval-card.js.map +1 -0
  60. package/dist/agent/channels/discord-backscroll.d.ts +209 -0
  61. package/dist/agent/channels/discord-backscroll.d.ts.map +1 -0
  62. package/dist/agent/channels/discord-backscroll.js +505 -0
  63. package/dist/agent/channels/discord-backscroll.js.map +1 -0
  64. package/dist/agent/channels/discord-bot-name.d.ts +19 -0
  65. package/dist/agent/channels/discord-bot-name.d.ts.map +1 -0
  66. package/dist/agent/channels/discord-bot-name.js +98 -0
  67. package/dist/agent/channels/discord-bot-name.js.map +1 -0
  68. package/dist/agent/channels/discord-channel-info.d.ts +22 -0
  69. package/dist/agent/channels/discord-channel-info.d.ts.map +1 -0
  70. package/dist/agent/channels/discord-channel-info.js +65 -0
  71. package/dist/agent/channels/discord-channel-info.js.map +1 -0
  72. package/dist/agent/channels/discord-directory.d.ts +11 -0
  73. package/dist/agent/channels/discord-directory.d.ts.map +1 -0
  74. package/dist/agent/channels/discord-directory.js +170 -0
  75. package/dist/agent/channels/discord-directory.js.map +1 -0
  76. package/dist/agent/channels/discord-dispatch-target.d.ts +15 -0
  77. package/dist/agent/channels/discord-dispatch-target.d.ts.map +1 -0
  78. package/dist/agent/channels/discord-dispatch-target.js +99 -0
  79. package/dist/agent/channels/discord-dispatch-target.js.map +1 -0
  80. package/dist/agent/channels/discord-events.d.ts +58 -0
  81. package/dist/agent/channels/discord-events.d.ts.map +1 -0
  82. package/dist/agent/channels/discord-events.js +150 -0
  83. package/dist/agent/channels/discord-events.js.map +1 -0
  84. package/dist/agent/channels/discord-front.d.ts +115 -0
  85. package/dist/agent/channels/discord-front.d.ts.map +1 -0
  86. package/dist/agent/channels/discord-front.js +279 -0
  87. package/dist/agent/channels/discord-front.js.map +1 -0
  88. package/dist/agent/channels/discord-gateway.d.ts +783 -0
  89. package/dist/agent/channels/discord-gateway.d.ts.map +1 -0
  90. package/dist/agent/channels/discord-gateway.js +2591 -0
  91. package/dist/agent/channels/discord-gateway.js.map +1 -0
  92. package/dist/agent/channels/discord-identity.d.ts +110 -0
  93. package/dist/agent/channels/discord-identity.d.ts.map +1 -0
  94. package/dist/agent/channels/discord-identity.js +201 -0
  95. package/dist/agent/channels/discord-identity.js.map +1 -0
  96. package/dist/agent/channels/discord-interaction-defer.d.ts +33 -0
  97. package/dist/agent/channels/discord-interaction-defer.d.ts.map +1 -0
  98. package/dist/agent/channels/discord-interaction-defer.js +102 -0
  99. package/dist/agent/channels/discord-interaction-defer.js.map +1 -0
  100. package/dist/agent/channels/discord-message-ops.d.ts +3 -0
  101. package/dist/agent/channels/discord-message-ops.d.ts.map +1 -0
  102. package/dist/agent/channels/discord-message-ops.js +123 -0
  103. package/dist/agent/channels/discord-message-ops.js.map +1 -0
  104. package/dist/agent/channels/discord-origin-codec.d.ts +7 -0
  105. package/dist/agent/channels/discord-origin-codec.d.ts.map +1 -0
  106. package/dist/agent/channels/discord-origin-codec.js +98 -0
  107. package/dist/agent/channels/discord-origin-codec.js.map +1 -0
  108. package/dist/agent/channels/discord-post-arm.d.ts +3 -0
  109. package/dist/agent/channels/discord-post-arm.d.ts.map +1 -0
  110. package/dist/agent/channels/discord-post-arm.js +195 -0
  111. package/dist/agent/channels/discord-post-arm.js.map +1 -0
  112. package/dist/agent/channels/discord-post.d.ts +120 -0
  113. package/dist/agent/channels/discord-post.d.ts.map +1 -0
  114. package/dist/agent/channels/discord-post.js +426 -0
  115. package/dist/agent/channels/discord-post.js.map +1 -0
  116. package/dist/agent/channels/discord-read.d.ts +40 -0
  117. package/dist/agent/channels/discord-read.d.ts.map +1 -0
  118. package/dist/agent/channels/discord-read.js +128 -0
  119. package/dist/agent/channels/discord-read.js.map +1 -0
  120. package/dist/agent/channels/discord-rest.d.ts +33 -0
  121. package/dist/agent/channels/discord-rest.d.ts.map +1 -0
  122. package/dist/agent/channels/discord-rest.js +75 -0
  123. package/dist/agent/channels/discord-rest.js.map +1 -0
  124. package/dist/agent/channels/discord.d.ts +3 -0
  125. package/dist/agent/channels/discord.d.ts.map +1 -0
  126. package/dist/agent/channels/discord.js +230 -0
  127. package/dist/agent/channels/discord.js.map +1 -0
  128. package/dist/agent/commands/discord-command-sync.d.ts +66 -0
  129. package/dist/agent/commands/discord-command-sync.d.ts.map +1 -0
  130. package/dist/agent/commands/discord-command-sync.js +224 -0
  131. package/dist/agent/commands/discord-command-sync.js.map +1 -0
  132. package/dist/agent/commands/discord-commands.d.ts +45 -0
  133. package/dist/agent/commands/discord-commands.d.ts.map +1 -0
  134. package/dist/agent/commands/discord-commands.js +266 -0
  135. package/dist/agent/commands/discord-commands.js.map +1 -0
  136. package/dist/agent/contributions.d.ts +17 -0
  137. package/dist/agent/contributions.d.ts.map +1 -0
  138. package/dist/agent/contributions.js +31 -0
  139. package/dist/agent/contributions.js.map +1 -0
  140. package/dist/agent/docs-generated.d.ts +3 -0
  141. package/dist/agent/docs-generated.d.ts.map +1 -0
  142. package/dist/agent/docs-generated.js +13 -0
  143. package/dist/agent/docs-generated.js.map +1 -0
  144. package/dist/agent/identity/discord-link-consent.d.ts +13 -0
  145. package/dist/agent/identity/discord-link-consent.d.ts.map +1 -0
  146. package/dist/agent/identity/discord-link-consent.js +111 -0
  147. package/dist/agent/identity/discord-link-consent.js.map +1 -0
  148. package/dist/agent/ops.d.ts +2 -0
  149. package/dist/agent/ops.d.ts.map +1 -0
  150. package/dist/agent/ops.js +13 -0
  151. package/dist/agent/ops.js.map +1 -0
  152. package/dist/agent/provider-events.d.ts +3 -0
  153. package/dist/agent/provider-events.d.ts.map +1 -0
  154. package/dist/agent/provider-events.js +78 -0
  155. package/dist/agent/provider-events.js.map +1 -0
  156. package/dist/agent/register.d.ts +5 -0
  157. package/dist/agent/register.d.ts.map +1 -0
  158. package/dist/agent/register.js +125 -0
  159. package/dist/agent/register.js.map +1 -0
  160. package/dist/agent/surface-parity.d.ts +3 -0
  161. package/dist/agent/surface-parity.d.ts.map +1 -0
  162. package/dist/agent/surface-parity.js +90 -0
  163. package/dist/agent/surface-parity.js.map +1 -0
  164. package/package.json +185 -0
  165. package/tsconfig.build.json +22 -0
  166. package/tsconfig.json +15 -0
@@ -0,0 +1,90 @@
1
+ // DISCORD's surface-parity declaration (OPE-1499). See the core module's header
2
+ // (packages/core/agent/identity/surface-parity.ts) for what the three cell shapes mean.
3
+ //
4
+ // Discord is complete on the chat plane. Its one structural difference from Slack is the
5
+ // engagement seam's second step: it enrols conversations and honours the durable `stopped` flag,
6
+ // but gates delivery with its own gateway rule instead of core's `shouldDeliverReply`.
7
+ export const DISCORD_SURFACE_PARITY = {
8
+ // registration seams (§7.1)
9
+ "identity-mapper": "supported",
10
+ "capability-manifest": "supported",
11
+ "post-arm": "supported",
12
+ "wake-origin-codec": "supported",
13
+ // The arm renders a Discord action row (`discord-post-arm.ts`), the front routes the tap back
14
+ // (`discord-front.ts` classifies the `oe_input:` custom_id, `discord-approval-card.ts` settles it),
15
+ // and the settle DELIVERS through core's `approvalCardRespondVia` — all three halves, as the row
16
+ // requires. The third is not a formality: this front bound its own `args.from(bareToken)` until
17
+ // OPE-1863, and that address is channel-local, so every tap threw and the approval stayed parked.
18
+ "unified-action-plane": "supported",
19
+ // `messageId` is the `message_reference` anchor and sits outside `threadRef`, which keys on the
20
+ // channel id alone — Slack's shape exactly. Both members are implemented; `autoThreadName` stays
21
+ // OUT of the axis because opening a thread MOVES a post rather than placing one.
22
+ "origin-placement-carry": "supported",
23
+ "read-adapter": "supported",
24
+ "reaction-feedback-ingest": "supported",
25
+ "ancillary-ops": "supported",
26
+ // Enrols (`markThreadEngaged`) and reads the `stopped` flag, but runs its own delivery gate in
27
+ // discord-gateway.ts rather than calling core's `shouldDeliverReply` — the seam is wired, and
28
+ // the trio is not called whole (§7.1's prose).
29
+ "ambient-engagement-seam": { supported: "enrols and honours `stopped`; gates delivery in its own gateway rule" },
30
+ // 🔴 A SECOND HONEST SPELLING, NOT A MISSING MAPPING. Under standing seats a Discord auto-thread
31
+ // is a seated channel in its own right, so a plain follow-up in it diverts as THAT channel's own
32
+ // wake and `discord-gateway.ts` reports the classifier's word. `J-ENGAGED-discord` reads the pair
33
+ // `channel-watch` + `singleWindow: true` IN the follow-up's own room instead
34
+ // (`reportedSeatedChannelWatch`, packages/core/scripts/e2e/engaged-rows.ts). Promoting the value
35
+ // here would need the seated path to resolve the engagement registry it does not read.
36
+ "engaged-row-promotion": {
37
+ unsupported: "the seated path reports the classifier's word — an auto-thread's follow-up diverts as that channel's own wake, and the journey reads `channel-watch` on a `singleWindow: true` row in that room instead",
38
+ },
39
+ // A Discord thread is its OWN channel id, so the stored origin could not tell a thread from a
40
+ // plain channel and the router had to read every Discord wake as top-level. The gateway now
41
+ // stamps `thread: true` at mint from the relay payload's channel type (OPE-1719), which is the
42
+ // positive signal the guard needs. The DM leg keeps the raw divert: a DM has no threads.
43
+ "owned-thread-ingress": { supported: "the guild leg only — a Discord DM carries no threads, so its divert never consults ownership" },
44
+ // wake legs and conversation shapes
45
+ "addressed-leg": "supported",
46
+ "ambient-leg": "supported",
47
+ // `discord-backscroll.ts discordSeatCatchUpFetch` pages `GET /channels/:id/messages` back to the
48
+ // seat's own `lastWakeAt` and hands the normalized window to core's shared catch-up path. A thread
49
+ // IS its own channel id on Discord, so one endpoint serves both the container and the conversation.
50
+ "seat-catch-up": "supported",
51
+ // BOTH hydration roads pour through one wrapper (`admitDiscordSeatLines`, discord-gateway.ts),
52
+ // which calls the core seam — never a per-bundle copy of the policy.
53
+ "seat-context-admission": "supported",
54
+ // The one registered `CardPoster` (approvals/discord-flow.ts, wired in register.ts): this bundle
55
+ // owns its own render AND the component route that brings the tap back.
56
+ "approval-card": "supported",
57
+ // The one registered `JudgeLiftNoticePoster` too (approvals/discord-flow.ts): the notice renders
58
+ // as this surface's own card with the overrule button, and the tap comes back the same route the
59
+ // Approve/Reject taps take.
60
+ "judge-lift-notice": "supported",
61
+ "name-drop-mention": "supported",
62
+ // 🔴 THE EVENT NEVER LEAVES THE RELAY. `deploy/discord-relay/index.js` subscribes to
63
+ // `Events.MessageCreate` (plus the two reaction events) and nothing else, so an edit — Discord's
64
+ // `MessageUpdate` — is never forwarded and the ingestion channel has no edit to gate. The gap is
65
+ // in the relay's subscription set, not in `discord-gateway.ts`.
66
+ "message-edit-wake": { unsupported: "the gateway relay subscribes to MessageCreate only — an edit raises MessageUpdate, which nothing forwards" },
67
+ // A Discord thread IS a channel, so `read_thread` reads that thread channel (§4.6.1).
68
+ threads: { supported: "a thread is itself a channel" },
69
+ rooms: "supported",
70
+ dm: "supported",
71
+ mpim: "supported",
72
+ // core verbs (§7.2)
73
+ reply: "supported",
74
+ edit_reply: "supported",
75
+ // Message-level granularity since OPE-987 (discord-post-arm.ts `resolveReactTarget`/`react`).
76
+ react: "supported",
77
+ no_reply: "supported",
78
+ read_channel: "supported",
79
+ read_thread: "supported",
80
+ search: { unsupported: "no work-search adapter — Discord is a chat surface, not a work corpus (§4.7)" },
81
+ post_message: "supported",
82
+ dm_person: "supported",
83
+ set_dm_delivery: "supported",
84
+ stop: { supported: "✋ reaction, plus the `/oe stop` command" },
85
+ ack_stop_glyph: "supported",
86
+ ack_cancel_note: "supported",
87
+ stand_down: { supported: "marks the engagement row; refuses out loud when the registry holds none" },
88
+ post_file: "supported",
89
+ };
90
+ //# sourceMappingURL=surface-parity.js.map
@@ -0,0 +1 @@
1
+ {"version":3,"file":"surface-parity.js","sourceRoot":"","sources":["../../agent/surface-parity.ts"],"names":[],"mappings":"AAAA,gFAAgF;AAChF,wFAAwF;AACxF,EAAE;AACF,yFAAyF;AACzF,iGAAiG;AACjG,uFAAuF;AAIvF,MAAM,CAAC,MAAM,sBAAsB,GAA6B;IAC9D,4BAA4B;IAC5B,iBAAiB,EAAE,WAAW;IAC9B,qBAAqB,EAAE,WAAW;IAClC,UAAU,EAAE,WAAW;IACvB,mBAAmB,EAAE,WAAW;IAChC,8FAA8F;IAC9F,oGAAoG;IACpG,iGAAiG;IACjG,gGAAgG;IAChG,kGAAkG;IAClG,sBAAsB,EAAE,WAAW;IACnC,gGAAgG;IAChG,iGAAiG;IACjG,iFAAiF;IACjF,wBAAwB,EAAE,WAAW;IACrC,cAAc,EAAE,WAAW;IAC3B,0BAA0B,EAAE,WAAW;IACvC,eAAe,EAAE,WAAW;IAC5B,+FAA+F;IAC/F,8FAA8F;IAC9F,+CAA+C;IAC/C,yBAAyB,EAAE,EAAE,SAAS,EAAE,sEAAsE,EAAE;IAChH,iGAAiG;IACjG,iGAAiG;IACjG,kGAAkG;IAClG,6EAA6E;IAC7E,iGAAiG;IACjG,uFAAuF;IACvF,uBAAuB,EAAE;QACvB,WAAW,EACT,yMAAyM;KAC5M;IACD,8FAA8F;IAC9F,4FAA4F;IAC5F,+FAA+F;IAC/F,yFAAyF;IACzF,sBAAsB,EAAE,EAAE,SAAS,EAAE,8FAA8F,EAAE;IAErI,oCAAoC;IACpC,eAAe,EAAE,WAAW;IAC5B,aAAa,EAAE,WAAW;IAC1B,iGAAiG;IACjG,mGAAmG;IACnG,oGAAoG;IACpG,eAAe,EAAE,WAAW;IAC5B,+FAA+F;IAC/F,qEAAqE;IACrE,wBAAwB,EAAE,WAAW;IACrC,iGAAiG;IACjG,wEAAwE;IACxE,eAAe,EAAE,WAAW;IAC5B,iGAAiG;IACjG,iGAAiG;IACjG,4BAA4B;IAC5B,mBAAmB,EAAE,WAAW;IAChC,mBAAmB,EAAE,WAAW;IAChC,qFAAqF;IACrF,iGAAiG;IACjG,iGAAiG;IACjG,gEAAgE;IAChE,mBAAmB,EAAE,EAAE,WAAW,EAAE,2GAA2G,EAAE;IACjJ,sFAAsF;IACtF,OAAO,EAAE,EAAE,SAAS,EAAE,8BAA8B,EAAE;IACtD,KAAK,EAAE,WAAW;IAClB,EAAE,EAAE,WAAW;IACf,IAAI,EAAE,WAAW;IAEjB,oBAAoB;IACpB,KAAK,EAAE,WAAW;IAClB,UAAU,EAAE,WAAW;IACvB,8FAA8F;IAC9F,KAAK,EAAE,WAAW;IAClB,QAAQ,EAAE,WAAW;IACrB,YAAY,EAAE,WAAW;IACzB,WAAW,EAAE,WAAW;IACxB,MAAM,EAAE,EAAE,WAAW,EAAE,8EAA8E,EAAE;IACvG,YAAY,EAAE,WAAW;IACzB,SAAS,EAAE,WAAW;IACtB,eAAe,EAAE,WAAW;IAC5B,IAAI,EAAE,EAAE,SAAS,EAAE,yCAAyC,EAAE;IAC9D,cAAc,EAAE,WAAW;IAC3B,eAAe,EAAE,WAAW;IAC5B,UAAU,EAAE,EAAE,SAAS,EAAE,yEAAyE,EAAE;IACpG,SAAS,EAAE,WAAW;CACvB,CAAC"}
package/package.json ADDED
@@ -0,0 +1,185 @@
1
+ {
2
+ "name": "@open-everywhere/provider-discord",
3
+ "version": "0.1.0",
4
+ "description": "Open Everywhere Discord provider — Discord channel and DM surfaces, gateway wiring, identity mapping and approval cards.",
5
+ "keywords": [
6
+ "agent",
7
+ "discord",
8
+ "discord-bot",
9
+ "chatops",
10
+ "eve"
11
+ ],
12
+ "license": "Apache-2.0",
13
+ "type": "module",
14
+ "homepage": "https://github.com/open-everywhere/open-everywhere/tree/main/packages/providers/discord",
15
+ "repository": {
16
+ "type": "git",
17
+ "url": "git+https://github.com/open-everywhere/open-everywhere.git",
18
+ "directory": "packages/providers/discord"
19
+ },
20
+ "bugs": {
21
+ "url": "https://github.com/open-everywhere/open-everywhere/issues"
22
+ },
23
+ "engines": {
24
+ "node": ">=24"
25
+ },
26
+ "publishConfig": {
27
+ "access": "public"
28
+ },
29
+ "files": [
30
+ "agent",
31
+ "dist",
32
+ "tsconfig.json",
33
+ "tsconfig.build.json",
34
+ "LICENSE",
35
+ "NOTICE"
36
+ ],
37
+ "exports": {
38
+ "./package.json": "./package.json",
39
+ "./agent/access/discord-grant-click.js": {
40
+ "types": "./dist/agent/access/discord-grant-click.d.ts",
41
+ "default": "./dist/agent/access/discord-grant-click.js"
42
+ },
43
+ "./agent/approvals/discord-admin.js": {
44
+ "types": "./dist/agent/approvals/discord-admin.d.ts",
45
+ "default": "./dist/agent/approvals/discord-admin.js"
46
+ },
47
+ "./agent/approvals/discord-card.js": {
48
+ "types": "./dist/agent/approvals/discord-card.d.ts",
49
+ "default": "./dist/agent/approvals/discord-card.js"
50
+ },
51
+ "./agent/approvals/discord-flow.js": {
52
+ "types": "./dist/agent/approvals/discord-flow.d.ts",
53
+ "default": "./dist/agent/approvals/discord-flow.js"
54
+ },
55
+ "./agent/approvals/discord-scope-label.js": {
56
+ "types": "./dist/agent/approvals/discord-scope-label.d.ts",
57
+ "default": "./dist/agent/approvals/discord-scope-label.js"
58
+ },
59
+ "./agent/channels/discord-approval-card.js": {
60
+ "types": "./dist/agent/channels/discord-approval-card.d.ts",
61
+ "default": "./dist/agent/channels/discord-approval-card.js"
62
+ },
63
+ "./agent/channels/discord-backscroll.js": {
64
+ "types": "./dist/agent/channels/discord-backscroll.d.ts",
65
+ "default": "./dist/agent/channels/discord-backscroll.js"
66
+ },
67
+ "./agent/channels/discord-bot-name.js": {
68
+ "types": "./dist/agent/channels/discord-bot-name.d.ts",
69
+ "default": "./dist/agent/channels/discord-bot-name.js"
70
+ },
71
+ "./agent/channels/discord-channel-info.js": {
72
+ "types": "./dist/agent/channels/discord-channel-info.d.ts",
73
+ "default": "./dist/agent/channels/discord-channel-info.js"
74
+ },
75
+ "./agent/channels/discord-directory.js": {
76
+ "types": "./dist/agent/channels/discord-directory.d.ts",
77
+ "default": "./dist/agent/channels/discord-directory.js"
78
+ },
79
+ "./agent/channels/discord-dispatch-target.js": {
80
+ "types": "./dist/agent/channels/discord-dispatch-target.d.ts",
81
+ "default": "./dist/agent/channels/discord-dispatch-target.js"
82
+ },
83
+ "./agent/channels/discord-events.js": {
84
+ "types": "./dist/agent/channels/discord-events.d.ts",
85
+ "default": "./dist/agent/channels/discord-events.js"
86
+ },
87
+ "./agent/channels/discord-front.js": {
88
+ "types": "./dist/agent/channels/discord-front.d.ts",
89
+ "default": "./dist/agent/channels/discord-front.js"
90
+ },
91
+ "./agent/channels/discord-gateway.js": {
92
+ "types": "./dist/agent/channels/discord-gateway.d.ts",
93
+ "default": "./dist/agent/channels/discord-gateway.js"
94
+ },
95
+ "./agent/channels/discord-identity.js": {
96
+ "types": "./dist/agent/channels/discord-identity.d.ts",
97
+ "default": "./dist/agent/channels/discord-identity.js"
98
+ },
99
+ "./agent/channels/discord-interaction-defer.js": {
100
+ "types": "./dist/agent/channels/discord-interaction-defer.d.ts",
101
+ "default": "./dist/agent/channels/discord-interaction-defer.js"
102
+ },
103
+ "./agent/channels/discord-message-ops.js": {
104
+ "types": "./dist/agent/channels/discord-message-ops.d.ts",
105
+ "default": "./dist/agent/channels/discord-message-ops.js"
106
+ },
107
+ "./agent/channels/discord-origin-codec.js": {
108
+ "types": "./dist/agent/channels/discord-origin-codec.d.ts",
109
+ "default": "./dist/agent/channels/discord-origin-codec.js"
110
+ },
111
+ "./agent/channels/discord-post-arm.js": {
112
+ "types": "./dist/agent/channels/discord-post-arm.d.ts",
113
+ "default": "./dist/agent/channels/discord-post-arm.js"
114
+ },
115
+ "./agent/channels/discord-post.js": {
116
+ "types": "./dist/agent/channels/discord-post.d.ts",
117
+ "default": "./dist/agent/channels/discord-post.js"
118
+ },
119
+ "./agent/channels/discord-read.js": {
120
+ "types": "./dist/agent/channels/discord-read.d.ts",
121
+ "default": "./dist/agent/channels/discord-read.js"
122
+ },
123
+ "./agent/channels/discord-rest.js": {
124
+ "types": "./dist/agent/channels/discord-rest.d.ts",
125
+ "default": "./dist/agent/channels/discord-rest.js"
126
+ },
127
+ "./agent/channels/discord.js": {
128
+ "types": "./dist/agent/channels/discord.d.ts",
129
+ "default": "./dist/agent/channels/discord.js"
130
+ },
131
+ "./agent/commands/discord-command-sync.js": {
132
+ "types": "./dist/agent/commands/discord-command-sync.d.ts",
133
+ "default": "./dist/agent/commands/discord-command-sync.js"
134
+ },
135
+ "./agent/commands/discord-commands.js": {
136
+ "types": "./dist/agent/commands/discord-commands.d.ts",
137
+ "default": "./dist/agent/commands/discord-commands.js"
138
+ },
139
+ "./agent/contributions.js": {
140
+ "types": "./dist/agent/contributions.d.ts",
141
+ "default": "./dist/agent/contributions.js"
142
+ },
143
+ "./agent/docs-generated.js": {
144
+ "types": "./dist/agent/docs-generated.d.ts",
145
+ "default": "./dist/agent/docs-generated.js"
146
+ },
147
+ "./agent/identity/discord-link-consent.js": {
148
+ "types": "./dist/agent/identity/discord-link-consent.d.ts",
149
+ "default": "./dist/agent/identity/discord-link-consent.js"
150
+ },
151
+ "./agent/ops.js": {
152
+ "types": "./dist/agent/ops.d.ts",
153
+ "default": "./dist/agent/ops.js"
154
+ },
155
+ "./agent/provider-events.js": {
156
+ "types": "./dist/agent/provider-events.d.ts",
157
+ "default": "./dist/agent/provider-events.js"
158
+ },
159
+ "./agent/register.js": {
160
+ "types": "./dist/agent/register.d.ts",
161
+ "default": "./dist/agent/register.js"
162
+ },
163
+ "./agent/surface-parity.js": {
164
+ "types": "./dist/agent/surface-parity.d.ts",
165
+ "default": "./dist/agent/surface-parity.js"
166
+ }
167
+ },
168
+ "scripts": {
169
+ "build": "tsc -p tsconfig.build.json",
170
+ "typecheck": "tsc --noEmit -p tsconfig.json",
171
+ "test": "echo 'provider-discord: its test suite runs at the APP TIER (root scripts/) because the discord surface composes deeply with core internals (a custom gateway, admin approval cards, guild-admin bypass, routine dispatch) — see the root test chain (test:discord*, test:scenarios*, test:oe-commands, and the read/dispatch/audit/wake integration tests). This keeps the core adapter-api barrel a small port surface rather than exporting test-only internals.'"
172
+ },
173
+ "dependencies": {
174
+ "@open-everywhere/core": "0.1.0",
175
+ "zod": "4.5.4"
176
+ },
177
+ "peerDependencies": {
178
+ "eve": "0.54.3"
179
+ },
180
+ "devDependencies": {
181
+ "@types/node": "latest",
182
+ "tsx": "latest",
183
+ "typescript": "latest"
184
+ }
185
+ }
@@ -0,0 +1,22 @@
1
+ {
2
+ // PUBLISH BUILD (OPE-406). See packages/core/tsconfig.build.json for the full rationale: the
3
+ // sibling tsconfig.json stays noEmit (it is the typecheck gate and covers scripts/** too); this
4
+ // config emits ONLY the published surface (agent/**) into dist/, because a registry install
5
+ // cannot execute raw TypeScript and "eve build" evaluates the authored agent modules.
6
+ "extends": "./tsconfig.json",
7
+ "compilerOptions": {
8
+ "noEmit": false,
9
+ // Incremental: these run from every pre-hook (pretypecheck/pretest/prebuild), so a no-op
10
+ // rebuild has to be near-free or the gate chain pays a full tsc on every invocation.
11
+ "incremental": true,
12
+ // OUTSIDE outDir on purpose: a tsbuildinfo left in dist/ gets swept up by the files
13
+ // allowlist and PUBLISHED (caught by the tarball listing, 2026-08-12).
14
+ "tsBuildInfoFile": "./.tsbuildinfo",
15
+ "declaration": true,
16
+ "declarationMap": true,
17
+ "sourceMap": true,
18
+ "outDir": "dist",
19
+ "rootDir": "."
20
+ },
21
+ "include": ["agent/**/*.ts"]
22
+ }
package/tsconfig.json ADDED
@@ -0,0 +1,15 @@
1
+ {
2
+ "compilerOptions": {
3
+ "target": "ES2023",
4
+ "module": "NodeNext",
5
+ "moduleResolution": "NodeNext",
6
+ "lib": ["ES2023"],
7
+ "strict": true,
8
+ "esModuleInterop": true,
9
+ "skipLibCheck": true,
10
+ "noEmit": true,
11
+ "resolveJsonModule": true,
12
+ "types": ["node"]
13
+ },
14
+ "include": ["agent/**/*.ts", "scripts/**/*.ts"]
15
+ }