@objectstack/plugin-webhooks 17.0.0-rc.6 → 17.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.
- package/CHANGELOG.md +2019 -0
- package/dist/chunk-DRHJ2M45.cjs +319 -0
- package/dist/chunk-DRHJ2M45.cjs.map +1 -0
- package/dist/chunk-XERWWQKN.js +319 -0
- package/dist/chunk-XERWWQKN.js.map +1 -0
- package/dist/index.cjs +803 -90
- package/dist/index.cjs.map +1 -1
- package/dist/index.d.cts +457 -1
- package/dist/index.d.ts +457 -1
- package/dist/index.js +742 -29
- package/dist/index.js.map +1 -1
- package/dist/schema.cjs +2 -2
- package/dist/schema.cjs.map +1 -1
- package/dist/schema.d.cts +1733 -405
- package/dist/schema.d.ts +1733 -405
- package/dist/schema.js +1 -1
- package/dist/{translations-2VGD4XRF.js → translations-IAKF6NAP.js} +41 -9
- package/dist/translations-IAKF6NAP.js.map +1 -0
- package/dist/{translations-BWS57U2V.cjs → translations-IHRALWSP.cjs} +41 -9
- package/dist/translations-IHRALWSP.cjs.map +1 -0
- package/package.json +8 -6
- package/dist/chunk-3QGZLM3T.js +0 -186
- package/dist/chunk-3QGZLM3T.js.map +0 -1
- package/dist/chunk-JQUVS5KK.cjs +0 -186
- package/dist/chunk-JQUVS5KK.cjs.map +0 -1
- package/dist/translations-2VGD4XRF.js.map +0 -1
- package/dist/translations-BWS57U2V.cjs.map +0 -1
package/dist/schema.js
CHANGED
|
@@ -3,14 +3,14 @@ var enObjects = {
|
|
|
3
3
|
sys_webhook: {
|
|
4
4
|
label: "Webhook",
|
|
5
5
|
pluralLabel: "Webhooks",
|
|
6
|
-
description: "Outbound HTTP webhook subscription.
|
|
6
|
+
description: "Outbound HTTP webhook subscription. Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio editor; dispatched by the webhook auto-enqueuer onto the shared HTTP outbox.",
|
|
7
7
|
fields: {
|
|
8
8
|
id: {
|
|
9
9
|
label: "Webhook ID"
|
|
10
10
|
},
|
|
11
11
|
name: {
|
|
12
12
|
label: "Name",
|
|
13
|
-
help: "
|
|
13
|
+
help: "snake_case name, unique per organization \u2014 referenced in logs and audit"
|
|
14
14
|
},
|
|
15
15
|
label: {
|
|
16
16
|
label: "Display Label"
|
|
@@ -21,7 +21,7 @@ var enObjects = {
|
|
|
21
21
|
},
|
|
22
22
|
triggers: {
|
|
23
23
|
label: "Triggers",
|
|
24
|
-
help: "Record events that fire this webhook
|
|
24
|
+
help: "Record events that fire this webhook (bulk_* deliver a count, not a record)",
|
|
25
25
|
options: {
|
|
26
26
|
create: "create",
|
|
27
27
|
update: "update",
|
|
@@ -36,7 +36,7 @@ var enObjects = {
|
|
|
36
36
|
},
|
|
37
37
|
method: {
|
|
38
38
|
label: "HTTP Method",
|
|
39
|
-
help: "
|
|
39
|
+
help: "HTTP method used for the callback request",
|
|
40
40
|
options: {
|
|
41
41
|
get: "GET",
|
|
42
42
|
post: "POST",
|
|
@@ -54,7 +54,15 @@ var enObjects = {
|
|
|
54
54
|
},
|
|
55
55
|
definition_json: {
|
|
56
56
|
label: "Definition",
|
|
57
|
-
help: "Serialised Webhook JSON (see @objectstack/spec/automation/webhook) \u2014
|
|
57
|
+
help: "Serialised Webhook JSON (see @objectstack/spec/automation/webhook) \u2014 timeout and the rest of the authored envelope. Credentials are NOT stored here: the signing secret lives in the encrypted `signing_secret` field and the custom headers in the encrypted `headers_secret` field."
|
|
58
|
+
},
|
|
59
|
+
headers_secret: {
|
|
60
|
+
label: "Custom Headers",
|
|
61
|
+
help: 'Custom HTTP headers sent with each delivery, as a JSON object ({"Authorization": "Bearer \u2026"}). Encrypted at rest into sys_secret; reads return a mask, never the headers. Leave the mask untouched to keep the current value.'
|
|
62
|
+
},
|
|
63
|
+
signing_secret: {
|
|
64
|
+
label: "Signing Secret",
|
|
65
|
+
help: "HMAC-SHA256 key used to sign deliveries (X-Objectstack-Signature). Encrypted at rest into sys_secret; reads return a mask, never the key. Leave the mask untouched to keep the current value."
|
|
58
66
|
},
|
|
59
67
|
managed_by: {
|
|
60
68
|
label: "Managed By",
|
|
@@ -105,7 +113,7 @@ var zhCNObjects = {
|
|
|
105
113
|
},
|
|
106
114
|
name: {
|
|
107
115
|
label: "\u540D\u79F0",
|
|
108
|
-
help: "
|
|
116
|
+
help: "snake_case \u540D\u79F0\uFF0C\u5728\u6BCF\u4E2A\u7EC4\u7EC7\u5185\u552F\u4E00\u2014\u2014\u7528\u4E8E\u65E5\u5FD7\u548C\u5BA1\u8BA1\u5F15\u7528"
|
|
109
117
|
},
|
|
110
118
|
label: {
|
|
111
119
|
label: "\u663E\u793A\u6807\u7B7E"
|
|
@@ -151,6 +159,14 @@ var zhCNObjects = {
|
|
|
151
159
|
label: "\u5B9A\u4E49",
|
|
152
160
|
help: "\u5E8F\u5217\u5316\u7684 Webhook JSON\uFF08\u53C2\u89C1 @objectstack/spec/automation/webhook\uFF09\u2014\u2014\u5305\u542B\u5B8C\u6574\u7684 headers/auth/retry/payload \u914D\u7F6E"
|
|
153
161
|
},
|
|
162
|
+
headers_secret: {
|
|
163
|
+
label: "\u81EA\u5B9A\u4E49\u8BF7\u6C42\u5934",
|
|
164
|
+
help: '\u968F\u6BCF\u6B21\u6295\u9012\u53D1\u9001\u7684\u81EA\u5B9A\u4E49 HTTP \u8BF7\u6C42\u5934\uFF0C\u91C7\u7528 JSON \u5BF9\u8C61\u683C\u5F0F\uFF08{"Authorization": "Bearer \u2026"}\uFF09\u3002\u9759\u6001\u5B58\u50A8\u65F6\u52A0\u5BC6\u5199\u5165 sys_secret\uFF1B\u8BFB\u53D6\u53EA\u8FD4\u56DE\u63A9\u7801\uFF0C\u7EDD\u4E0D\u8FD4\u56DE\u8BF7\u6C42\u5934\u5185\u5BB9\u3002\u4FDD\u6301\u63A9\u7801\u4E0D\u53D8\u5373\u4FDD\u7559\u5F53\u524D\u503C\u3002'
|
|
165
|
+
},
|
|
166
|
+
signing_secret: {
|
|
167
|
+
label: "\u7B7E\u540D\u5BC6\u94A5",
|
|
168
|
+
help: "\u7528\u4E8E\u5BF9\u6295\u9012\u8BF7\u6C42\u7B7E\u540D\u7684 HMAC-SHA256 \u5BC6\u94A5\uFF08X-Objectstack-Signature\uFF09\u3002\u9759\u6001\u5B58\u50A8\u65F6\u52A0\u5BC6\u5199\u5165 sys_secret\uFF1B\u8BFB\u53D6\u53EA\u8FD4\u56DE\u63A9\u7801\uFF0C\u7EDD\u4E0D\u8FD4\u56DE\u5BC6\u94A5\u3002\u4FDD\u6301\u63A9\u7801\u4E0D\u53D8\u5373\u4FDD\u7559\u5F53\u524D\u503C\u3002"
|
|
169
|
+
},
|
|
154
170
|
managed_by: {
|
|
155
171
|
label: "\u7BA1\u7406\u6765\u6E90",
|
|
156
172
|
help: "\u8BB0\u5F55\u6765\u6E90\uFF1Aplatform = \u6846\u67B6\u5185\u7F6E / package = \u5E94\u7528\u5305\u58F0\u660E\uFF08\u7531 defineStack \u7684 webhooks \u5728\u542F\u52A8\u65F6\u79CD\u5165\uFF09/ admin = \u5728 Setup \u4E2D\u521B\u5EFA\u3002",
|
|
@@ -200,7 +216,7 @@ var jaJPObjects = {
|
|
|
200
216
|
},
|
|
201
217
|
name: {
|
|
202
218
|
label: "\u540D\u524D",
|
|
203
|
-
help: "\u4E00\u610F\
|
|
219
|
+
help: "snake_case \u540D\uFF08\u7D44\u7E54\u3054\u3068\u306B\u4E00\u610F\uFF09\u2014 \u30ED\u30B0\u304A\u3088\u3073\u76E3\u67FB\u3067\u53C2\u7167"
|
|
204
220
|
},
|
|
205
221
|
label: {
|
|
206
222
|
label: "\u8868\u793A\u540D"
|
|
@@ -246,6 +262,14 @@ var jaJPObjects = {
|
|
|
246
262
|
label: "\u5B9A\u7FA9",
|
|
247
263
|
help: "\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u3055\u308C\u305F Webhook JSON\uFF08@objectstack/spec/automation/webhook \u53C2\u7167\uFF09\u2014 \u30D8\u30C3\u30C0\u30FC/\u8A8D\u8A3C/\u30EA\u30C8\u30E9\u30A4/\u30DA\u30A4\u30ED\u30FC\u30C9\u8A2D\u5B9A\u3092\u542B\u3080"
|
|
248
264
|
},
|
|
265
|
+
headers_secret: {
|
|
266
|
+
label: "\u30AB\u30B9\u30BF\u30E0\u30D8\u30C3\u30C0\u30FC",
|
|
267
|
+
help: '\u5404\u914D\u4FE1\u3067\u9001\u4FE1\u3059\u308B\u30AB\u30B9\u30BF\u30E0 HTTP \u30D8\u30C3\u30C0\u30FC\u3002JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u5F62\u5F0F\uFF08{"Authorization": "Bearer \u2026"}\uFF09\u3002\u4FDD\u5B58\u6642\u306F sys_secret \u306B\u6697\u53F7\u5316\u3055\u308C\u3001\u8AAD\u307F\u53D6\u308A\u3067\u306F\u30DE\u30B9\u30AF\u306E\u307F\u304C\u8FD4\u308A\u30D8\u30C3\u30C0\u30FC\u306F\u8FD4\u308A\u307E\u305B\u3093\u3002\u30DE\u30B9\u30AF\u3092\u305D\u306E\u307E\u307E\u306B\u3059\u308B\u3068\u73FE\u5728\u306E\u5024\u304C\u7DAD\u6301\u3055\u308C\u307E\u3059\u3002'
|
|
268
|
+
},
|
|
269
|
+
signing_secret: {
|
|
270
|
+
label: "\u7F72\u540D\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8",
|
|
271
|
+
help: "\u914D\u4FE1\u306E\u7F72\u540D\u306B\u4F7F\u3046 HMAC-SHA256 \u30AD\u30FC\uFF08X-Objectstack-Signature\uFF09\u3002\u4FDD\u5B58\u6642\u306F sys_secret \u306B\u6697\u53F7\u5316\u3055\u308C\u3001\u8AAD\u307F\u53D6\u308A\u3067\u306F\u30DE\u30B9\u30AF\u306E\u307F\u304C\u8FD4\u308A\u30AD\u30FC\u306F\u8FD4\u308A\u307E\u305B\u3093\u3002\u30DE\u30B9\u30AF\u3092\u305D\u306E\u307E\u307E\u306B\u3059\u308B\u3068\u73FE\u5728\u306E\u5024\u304C\u7DAD\u6301\u3055\u308C\u307E\u3059\u3002"
|
|
272
|
+
},
|
|
249
273
|
managed_by: {
|
|
250
274
|
label: "\u7BA1\u7406\u5143",
|
|
251
275
|
help: "\u30EC\u30B3\u30FC\u30C9\u306E\u51FA\u6240: platform = \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u7D44\u307F\u8FBC\u307F / package = \u30A2\u30D7\u30EA\u30FB\u30D1\u30C3\u30B1\u30FC\u30B8\u5BA3\u8A00\uFF08defineStack \u306E webhooks \u304B\u3089\u8D77\u52D5\u6642\u30B7\u30FC\u30C9\uFF09/ admin = Setup \u3067\u4F5C\u6210\u3002",
|
|
@@ -295,7 +319,7 @@ var esESObjects = {
|
|
|
295
319
|
},
|
|
296
320
|
name: {
|
|
297
321
|
label: "Nombre",
|
|
298
|
-
help: "Nombre snake_case \xFAnico; se usa en los registros y en la auditor\xEDa."
|
|
322
|
+
help: "Nombre snake_case, \xFAnico por organizaci\xF3n; se usa en los registros y en la auditor\xEDa."
|
|
299
323
|
},
|
|
300
324
|
label: {
|
|
301
325
|
label: "Nombre visible"
|
|
@@ -341,6 +365,14 @@ var esESObjects = {
|
|
|
341
365
|
label: "Definici\xF3n",
|
|
342
366
|
help: "JSON serializado de Webhook (consulte @objectstack/spec/automation/webhook): configuraci\xF3n completa de cabeceras/auth/reintentos/payload."
|
|
343
367
|
},
|
|
368
|
+
headers_secret: {
|
|
369
|
+
label: "Cabeceras personalizadas",
|
|
370
|
+
help: 'Cabeceras HTTP personalizadas enviadas con cada entrega, como un objeto JSON ({"Authorization": "Bearer \u2026"}). Se cifran en reposo en sys_secret; las lecturas devuelven una m\xE1scara, nunca las cabeceras. Deje la m\xE1scara sin tocar para conservar el valor actual.'
|
|
371
|
+
},
|
|
372
|
+
signing_secret: {
|
|
373
|
+
label: "Secreto de firma",
|
|
374
|
+
help: "Clave HMAC-SHA256 usada para firmar las entregas (X-Objectstack-Signature). Se cifra en reposo en sys_secret; las lecturas devuelven una m\xE1scara, nunca la clave. Deje la m\xE1scara sin tocar para conservar el valor actual."
|
|
375
|
+
},
|
|
344
376
|
managed_by: {
|
|
345
377
|
label: "Gestionado por",
|
|
346
378
|
help: "Procedencia del registro: platform = integrado en el framework / package = declarado por app o paquete (sembrado al arrancar desde los webhooks de defineStack) / admin = creado en Setup.",
|
|
@@ -388,4 +420,4 @@ var WebhooksTranslations = {
|
|
|
388
420
|
export {
|
|
389
421
|
WebhooksTranslations
|
|
390
422
|
};
|
|
391
|
-
//# sourceMappingURL=translations-
|
|
423
|
+
//# sourceMappingURL=translations-IAKF6NAP.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["../src/translations/en.objects.generated.ts","../src/translations/zh-CN.objects.generated.ts","../src/translations/ja-JP.objects.generated.ts","../src/translations/es-ES.objects.generated.ts","../src/translations/index.ts"],"sourcesContent":["// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'en'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const enObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Outbound HTTP webhook subscription. Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio editor; dispatched by the webhook auto-enqueuer onto the shared HTTP outbox.\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"Name\",\n help: \"snake_case name, unique per organization — referenced in logs and audit\"\n },\n label: {\n label: \"Display Label\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name whose record events (create/update/delete) fire this webhook\"\n },\n triggers: {\n label: \"Triggers\",\n help: \"Record events that fire this webhook (bulk_* deliver a count, not a record)\",\n options: {\n create: \"create\",\n update: \"update\",\n delete: \"delete\",\n bulk_update: \"bulk_update\",\n bulk_delete: \"bulk_delete\"\n }\n },\n url: {\n label: \"Target URL\",\n help: \"External endpoint that receives the POST\"\n },\n method: {\n label: \"HTTP Method\",\n help: \"HTTP method used for the callback request\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"Description\"\n },\n active: {\n label: \"Active\",\n help: \"Inactive webhooks are skipped by the dispatcher\"\n },\n definition_json: {\n label: \"Definition\",\n help: \"Serialised Webhook JSON (see @objectstack/spec/automation/webhook) — timeout and the rest of the authored envelope. Credentials are NOT stored here: the signing secret lives in the encrypted `signing_secret` field and the custom headers in the encrypted `headers_secret` field.\"\n },\n headers_secret: {\n label: \"Custom Headers\",\n help: \"Custom HTTP headers sent with each delivery, as a JSON object ({\\\"Authorization\\\": \\\"Bearer …\\\"}). Encrypted at rest into sys_secret; reads return a mask, never the headers. Leave the mask untouched to keep the current value.\"\n },\n signing_secret: {\n label: \"Signing Secret\",\n help: \"HMAC-SHA256 key used to sign deliveries (X-Objectstack-Signature). Encrypted at rest into sys_secret; reads return a mask, never the key. Leave the mask untouched to keep the current value.\"\n },\n managed_by: {\n label: \"Managed By\",\n help: \"Record provenance: platform = framework built-in / package = app/package-declared (boot-seeded from defineStack webhooks) / admin = created in Setup.\",\n options: {\n platform: \"platform\",\n package: \"package\",\n admin: \"admin\"\n }\n },\n customized: {\n label: \"Customized\",\n help: \"Set when an admin edits a package-declared webhook; boot seeding will no longer overwrite the row (a deactivated noisy webhook survives redeploys). Meaningless on admin rows.\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_object: {\n label: \"By Object\"\n },\n all_webhooks: {\n label: \"All\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'zh-CN'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const zhCNObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"外发 HTTP Webhook 订阅。可在代码中通过 defineWebhook() 编写,或在 Studio 编辑器中维护;由 HTTP 连接器插件执行。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名称\",\n help: \"snake_case 名称,在每个组织内唯一——用于日志和审计引用\"\n },\n label: {\n label: \"显示标签\"\n },\n object_name: {\n label: \"对象\",\n help: \"触发该 Webhook 的记录事件(create/update/delete)的短对象名\"\n },\n triggers: {\n label: \"触发器\",\n help: \"触发该 Webhook 的记录事件。bulk_update / bulk_delete 由谓词写(批量)触发,投递的是受影响条数而非记录。\",\n options: {\n create: \"创建\",\n update: \"更新\",\n delete: \"删除\",\n bulk_update: \"批量更新\",\n bulk_delete: \"批量删除\"\n }\n },\n url: {\n label: \"目标 URL\",\n help: \"接收 POST 请求的外部端点\"\n },\n method: {\n label: \"HTTP 方法\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"描述\"\n },\n active: {\n label: \"启用\",\n help: \"停用的 Webhook 会被调度器跳过\"\n },\n definition_json: {\n label: \"定义\",\n help: \"序列化的 Webhook JSON(参见 @objectstack/spec/automation/webhook)——包含完整的 headers/auth/retry/payload 配置\"\n },\n headers_secret: {\n label: \"自定义请求头\",\n help: \"随每次投递发送的自定义 HTTP 请求头,采用 JSON 对象格式({\\\"Authorization\\\": \\\"Bearer …\\\"})。静态存储时加密写入 sys_secret;读取只返回掩码,绝不返回请求头内容。保持掩码不变即保留当前值。\"\n },\n signing_secret: {\n label: \"签名密钥\",\n help: \"用于对投递请求签名的 HMAC-SHA256 密钥(X-Objectstack-Signature)。静态存储时加密写入 sys_secret;读取只返回掩码,绝不返回密钥。保持掩码不变即保留当前值。\"\n },\n managed_by: {\n label: \"管理来源\",\n help: \"记录来源:platform = 框架内置 / package = 应用包声明(由 defineStack 的 webhooks 在启动时种入)/ admin = 在 Setup 中创建。\",\n options: {\n platform: \"平台\",\n package: \"包\",\n admin: \"管理员\"\n }\n },\n customized: {\n label: \"已定制\",\n help: \"当管理员编辑应用包声明的 webhook 时置位;此后启动种入不再覆盖该行(被停用的嘈杂 webhook 可跨重新部署保留)。对 admin 来源的记录无意义。\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_object: {\n label: \"按对象\"\n },\n all_webhooks: {\n label: \"全部\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'ja-JP'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const jaJPObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"送信 HTTP Webhook サブスクリプション。defineWebhook() またはスタジオエディタで作成し、HTTP コネクタプラグインが実行します。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名前\",\n help: \"snake_case 名(組織ごとに一意)— ログおよび監査で参照\"\n },\n label: {\n label: \"表示名\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"このウェブフックを発火するレコードイベント(create/update/delete)のオブジェクト短縮名\"\n },\n triggers: {\n label: \"トリガー\",\n help: \"このウェブフックを発火するレコードイベント。bulk_update / bulk_delete は述語による一括書き込みで発火し、レコードではなく件数を配信します。\",\n options: {\n create: \"作成\",\n update: \"更新\",\n delete: \"削除\",\n bulk_update: \"一括更新\",\n bulk_delete: \"一括削除\"\n }\n },\n url: {\n label: \"ターゲット URL\",\n help: \"POST を受信する外部エンドポイント\"\n },\n method: {\n label: \"HTTP メソッド\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"説明\"\n },\n active: {\n label: \"有効\",\n help: \"無効にするとディスパッチャにスキップされます\"\n },\n definition_json: {\n label: \"定義\",\n help: \"シリアライズされた Webhook JSON(@objectstack/spec/automation/webhook 参照)— ヘッダー/認証/リトライ/ペイロード設定を含む\"\n },\n headers_secret: {\n label: \"カスタムヘッダー\",\n help: \"各配信で送信するカスタム HTTP ヘッダー。JSON オブジェクト形式({\\\"Authorization\\\": \\\"Bearer …\\\"})。保存時は sys_secret に暗号化され、読み取りではマスクのみが返りヘッダーは返りません。マスクをそのままにすると現在の値が維持されます。\"\n },\n signing_secret: {\n label: \"署名シークレット\",\n help: \"配信の署名に使う HMAC-SHA256 キー(X-Objectstack-Signature)。保存時は sys_secret に暗号化され、読み取りではマスクのみが返りキーは返りません。マスクをそのままにすると現在の値が維持されます。\"\n },\n managed_by: {\n label: \"管理元\",\n help: \"レコードの出所: platform = フレームワーク組み込み / package = アプリ・パッケージ宣言(defineStack の webhooks から起動時シード)/ admin = Setup で作成。\",\n options: {\n platform: \"プラットフォーム\",\n package: \"パッケージ\",\n admin: \"管理者\"\n }\n },\n customized: {\n label: \"カスタマイズ済み\",\n help: \"管理者がパッケージ宣言の webhook を編集すると設定されます。以後、起動時シードはこの行を上書きしません(無効化したノイジーな webhook は再デプロイ後も保持)。admin 行では意味を持ちません。\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n all_webhooks: {\n label: \"すべて\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'es-ES'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const esESObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Suscripción saliente de Webhook HTTP. Se crea mediante defineWebhook() en código o con el editor de Studio; la ejecuta el plugin del conector HTTP.\",\n fields: {\n id: {\n label: \"ID de webhook\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre snake_case, único por organización; se usa en los registros y en la auditoría.\"\n },\n label: {\n label: \"Nombre visible\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto cuyos eventos de registro (create/update/delete) activan este Webhook.\"\n },\n triggers: {\n label: \"Desencadenantes\",\n help: \"Eventos de registro que activan este Webhook. bulk_update / bulk_delete se activan en escrituras por predicado y entregan un recuento, no un registro.\",\n options: {\n create: \"Crear\",\n update: \"Actualizar\",\n delete: \"Eliminar\",\n bulk_update: \"Actualización masiva\",\n bulk_delete: \"Eliminación masiva\"\n }\n },\n url: {\n label: \"URL de destino\",\n help: \"Endpoint externo que recibe el POST.\"\n },\n method: {\n label: \"Método HTTP\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"Descripción\"\n },\n active: {\n label: \"Activo\",\n help: \"Los Webhooks inactivos se omiten en el despachador.\"\n },\n definition_json: {\n label: \"Definición\",\n help: \"JSON serializado de Webhook (consulte @objectstack/spec/automation/webhook): configuración completa de cabeceras/auth/reintentos/payload.\"\n },\n headers_secret: {\n label: \"Cabeceras personalizadas\",\n help: \"Cabeceras HTTP personalizadas enviadas con cada entrega, como un objeto JSON ({\\\"Authorization\\\": \\\"Bearer …\\\"}). Se cifran en reposo en sys_secret; las lecturas devuelven una máscara, nunca las cabeceras. Deje la máscara sin tocar para conservar el valor actual.\"\n },\n signing_secret: {\n label: \"Secreto de firma\",\n help: \"Clave HMAC-SHA256 usada para firmar las entregas (X-Objectstack-Signature). Se cifra en reposo en sys_secret; las lecturas devuelven una máscara, nunca la clave. Deje la máscara sin tocar para conservar el valor actual.\"\n },\n managed_by: {\n label: \"Gestionado por\",\n help: \"Procedencia del registro: platform = integrado en el framework / package = declarado por app o paquete (sembrado al arrancar desde los webhooks de defineStack) / admin = creado en Setup.\",\n options: {\n platform: \"Plataforma\",\n package: \"Paquete\",\n admin: \"Administrador\"\n }\n },\n customized: {\n label: \"Personalizado\",\n help: \"Se establece cuando un administrador edita un webhook declarado por un paquete; a partir de entonces el sembrado de arranque deja de sobrescribir la fila (un webhook ruidoso desactivado sobrevive a los redespliegues). Sin sentido en filas admin.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n all_webhooks: {\n label: \"Todos\"\n }\n }\n }\n};\n","// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * WebhooksTranslations — i18n bundle owned by this plugin (ADR-0029 D8).\n *\n * Object label/field/view/action translations for the sys_* objects this\n * plugin owns. Loaded at runtime via the plugin's `kernel:ready` hook\n * (`i18n.loadTranslations`). Regenerate with `os i18n extract` against\n * `scripts/i18n-extract.config.ts`.\n */\n\nimport type { TranslationBundle } from '@objectstack/spec/system';\nimport { enObjects } from './en.objects.generated.js';\nimport { zhCNObjects } from './zh-CN.objects.generated.js';\nimport { jaJPObjects } from './ja-JP.objects.generated.js';\nimport { esESObjects } from './es-ES.objects.generated.js';\n\nexport const WebhooksTranslations: TranslationBundle = {\n en: { objects: enObjects },\n 'zh-CN': { objects: zhCNObjects },\n 'ja-JP': { objects: jaJPObjects },\n 'es-ES': { objects: esESObjects },\n};\n"],"mappings":"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","names":[]}
|
|
@@ -3,14 +3,14 @@ var enObjects = {
|
|
|
3
3
|
sys_webhook: {
|
|
4
4
|
label: "Webhook",
|
|
5
5
|
pluralLabel: "Webhooks",
|
|
6
|
-
description: "Outbound HTTP webhook subscription.
|
|
6
|
+
description: "Outbound HTTP webhook subscription. Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio editor; dispatched by the webhook auto-enqueuer onto the shared HTTP outbox.",
|
|
7
7
|
fields: {
|
|
8
8
|
id: {
|
|
9
9
|
label: "Webhook ID"
|
|
10
10
|
},
|
|
11
11
|
name: {
|
|
12
12
|
label: "Name",
|
|
13
|
-
help: "
|
|
13
|
+
help: "snake_case name, unique per organization \u2014 referenced in logs and audit"
|
|
14
14
|
},
|
|
15
15
|
label: {
|
|
16
16
|
label: "Display Label"
|
|
@@ -21,7 +21,7 @@ var enObjects = {
|
|
|
21
21
|
},
|
|
22
22
|
triggers: {
|
|
23
23
|
label: "Triggers",
|
|
24
|
-
help: "Record events that fire this webhook
|
|
24
|
+
help: "Record events that fire this webhook (bulk_* deliver a count, not a record)",
|
|
25
25
|
options: {
|
|
26
26
|
create: "create",
|
|
27
27
|
update: "update",
|
|
@@ -36,7 +36,7 @@ var enObjects = {
|
|
|
36
36
|
},
|
|
37
37
|
method: {
|
|
38
38
|
label: "HTTP Method",
|
|
39
|
-
help: "
|
|
39
|
+
help: "HTTP method used for the callback request",
|
|
40
40
|
options: {
|
|
41
41
|
get: "GET",
|
|
42
42
|
post: "POST",
|
|
@@ -54,7 +54,15 @@ var enObjects = {
|
|
|
54
54
|
},
|
|
55
55
|
definition_json: {
|
|
56
56
|
label: "Definition",
|
|
57
|
-
help: "Serialised Webhook JSON (see @objectstack/spec/automation/webhook) \u2014
|
|
57
|
+
help: "Serialised Webhook JSON (see @objectstack/spec/automation/webhook) \u2014 timeout and the rest of the authored envelope. Credentials are NOT stored here: the signing secret lives in the encrypted `signing_secret` field and the custom headers in the encrypted `headers_secret` field."
|
|
58
|
+
},
|
|
59
|
+
headers_secret: {
|
|
60
|
+
label: "Custom Headers",
|
|
61
|
+
help: 'Custom HTTP headers sent with each delivery, as a JSON object ({"Authorization": "Bearer \u2026"}). Encrypted at rest into sys_secret; reads return a mask, never the headers. Leave the mask untouched to keep the current value.'
|
|
62
|
+
},
|
|
63
|
+
signing_secret: {
|
|
64
|
+
label: "Signing Secret",
|
|
65
|
+
help: "HMAC-SHA256 key used to sign deliveries (X-Objectstack-Signature). Encrypted at rest into sys_secret; reads return a mask, never the key. Leave the mask untouched to keep the current value."
|
|
58
66
|
},
|
|
59
67
|
managed_by: {
|
|
60
68
|
label: "Managed By",
|
|
@@ -105,7 +113,7 @@ var zhCNObjects = {
|
|
|
105
113
|
},
|
|
106
114
|
name: {
|
|
107
115
|
label: "\u540D\u79F0",
|
|
108
|
-
help: "
|
|
116
|
+
help: "snake_case \u540D\u79F0\uFF0C\u5728\u6BCF\u4E2A\u7EC4\u7EC7\u5185\u552F\u4E00\u2014\u2014\u7528\u4E8E\u65E5\u5FD7\u548C\u5BA1\u8BA1\u5F15\u7528"
|
|
109
117
|
},
|
|
110
118
|
label: {
|
|
111
119
|
label: "\u663E\u793A\u6807\u7B7E"
|
|
@@ -151,6 +159,14 @@ var zhCNObjects = {
|
|
|
151
159
|
label: "\u5B9A\u4E49",
|
|
152
160
|
help: "\u5E8F\u5217\u5316\u7684 Webhook JSON\uFF08\u53C2\u89C1 @objectstack/spec/automation/webhook\uFF09\u2014\u2014\u5305\u542B\u5B8C\u6574\u7684 headers/auth/retry/payload \u914D\u7F6E"
|
|
153
161
|
},
|
|
162
|
+
headers_secret: {
|
|
163
|
+
label: "\u81EA\u5B9A\u4E49\u8BF7\u6C42\u5934",
|
|
164
|
+
help: '\u968F\u6BCF\u6B21\u6295\u9012\u53D1\u9001\u7684\u81EA\u5B9A\u4E49 HTTP \u8BF7\u6C42\u5934\uFF0C\u91C7\u7528 JSON \u5BF9\u8C61\u683C\u5F0F\uFF08{"Authorization": "Bearer \u2026"}\uFF09\u3002\u9759\u6001\u5B58\u50A8\u65F6\u52A0\u5BC6\u5199\u5165 sys_secret\uFF1B\u8BFB\u53D6\u53EA\u8FD4\u56DE\u63A9\u7801\uFF0C\u7EDD\u4E0D\u8FD4\u56DE\u8BF7\u6C42\u5934\u5185\u5BB9\u3002\u4FDD\u6301\u63A9\u7801\u4E0D\u53D8\u5373\u4FDD\u7559\u5F53\u524D\u503C\u3002'
|
|
165
|
+
},
|
|
166
|
+
signing_secret: {
|
|
167
|
+
label: "\u7B7E\u540D\u5BC6\u94A5",
|
|
168
|
+
help: "\u7528\u4E8E\u5BF9\u6295\u9012\u8BF7\u6C42\u7B7E\u540D\u7684 HMAC-SHA256 \u5BC6\u94A5\uFF08X-Objectstack-Signature\uFF09\u3002\u9759\u6001\u5B58\u50A8\u65F6\u52A0\u5BC6\u5199\u5165 sys_secret\uFF1B\u8BFB\u53D6\u53EA\u8FD4\u56DE\u63A9\u7801\uFF0C\u7EDD\u4E0D\u8FD4\u56DE\u5BC6\u94A5\u3002\u4FDD\u6301\u63A9\u7801\u4E0D\u53D8\u5373\u4FDD\u7559\u5F53\u524D\u503C\u3002"
|
|
169
|
+
},
|
|
154
170
|
managed_by: {
|
|
155
171
|
label: "\u7BA1\u7406\u6765\u6E90",
|
|
156
172
|
help: "\u8BB0\u5F55\u6765\u6E90\uFF1Aplatform = \u6846\u67B6\u5185\u7F6E / package = \u5E94\u7528\u5305\u58F0\u660E\uFF08\u7531 defineStack \u7684 webhooks \u5728\u542F\u52A8\u65F6\u79CD\u5165\uFF09/ admin = \u5728 Setup \u4E2D\u521B\u5EFA\u3002",
|
|
@@ -200,7 +216,7 @@ var jaJPObjects = {
|
|
|
200
216
|
},
|
|
201
217
|
name: {
|
|
202
218
|
label: "\u540D\u524D",
|
|
203
|
-
help: "\u4E00\u610F\
|
|
219
|
+
help: "snake_case \u540D\uFF08\u7D44\u7E54\u3054\u3068\u306B\u4E00\u610F\uFF09\u2014 \u30ED\u30B0\u304A\u3088\u3073\u76E3\u67FB\u3067\u53C2\u7167"
|
|
204
220
|
},
|
|
205
221
|
label: {
|
|
206
222
|
label: "\u8868\u793A\u540D"
|
|
@@ -246,6 +262,14 @@ var jaJPObjects = {
|
|
|
246
262
|
label: "\u5B9A\u7FA9",
|
|
247
263
|
help: "\u30B7\u30EA\u30A2\u30E9\u30A4\u30BA\u3055\u308C\u305F Webhook JSON\uFF08@objectstack/spec/automation/webhook \u53C2\u7167\uFF09\u2014 \u30D8\u30C3\u30C0\u30FC/\u8A8D\u8A3C/\u30EA\u30C8\u30E9\u30A4/\u30DA\u30A4\u30ED\u30FC\u30C9\u8A2D\u5B9A\u3092\u542B\u3080"
|
|
248
264
|
},
|
|
265
|
+
headers_secret: {
|
|
266
|
+
label: "\u30AB\u30B9\u30BF\u30E0\u30D8\u30C3\u30C0\u30FC",
|
|
267
|
+
help: '\u5404\u914D\u4FE1\u3067\u9001\u4FE1\u3059\u308B\u30AB\u30B9\u30BF\u30E0 HTTP \u30D8\u30C3\u30C0\u30FC\u3002JSON \u30AA\u30D6\u30B8\u30A7\u30AF\u30C8\u5F62\u5F0F\uFF08{"Authorization": "Bearer \u2026"}\uFF09\u3002\u4FDD\u5B58\u6642\u306F sys_secret \u306B\u6697\u53F7\u5316\u3055\u308C\u3001\u8AAD\u307F\u53D6\u308A\u3067\u306F\u30DE\u30B9\u30AF\u306E\u307F\u304C\u8FD4\u308A\u30D8\u30C3\u30C0\u30FC\u306F\u8FD4\u308A\u307E\u305B\u3093\u3002\u30DE\u30B9\u30AF\u3092\u305D\u306E\u307E\u307E\u306B\u3059\u308B\u3068\u73FE\u5728\u306E\u5024\u304C\u7DAD\u6301\u3055\u308C\u307E\u3059\u3002'
|
|
268
|
+
},
|
|
269
|
+
signing_secret: {
|
|
270
|
+
label: "\u7F72\u540D\u30B7\u30FC\u30AF\u30EC\u30C3\u30C8",
|
|
271
|
+
help: "\u914D\u4FE1\u306E\u7F72\u540D\u306B\u4F7F\u3046 HMAC-SHA256 \u30AD\u30FC\uFF08X-Objectstack-Signature\uFF09\u3002\u4FDD\u5B58\u6642\u306F sys_secret \u306B\u6697\u53F7\u5316\u3055\u308C\u3001\u8AAD\u307F\u53D6\u308A\u3067\u306F\u30DE\u30B9\u30AF\u306E\u307F\u304C\u8FD4\u308A\u30AD\u30FC\u306F\u8FD4\u308A\u307E\u305B\u3093\u3002\u30DE\u30B9\u30AF\u3092\u305D\u306E\u307E\u307E\u306B\u3059\u308B\u3068\u73FE\u5728\u306E\u5024\u304C\u7DAD\u6301\u3055\u308C\u307E\u3059\u3002"
|
|
272
|
+
},
|
|
249
273
|
managed_by: {
|
|
250
274
|
label: "\u7BA1\u7406\u5143",
|
|
251
275
|
help: "\u30EC\u30B3\u30FC\u30C9\u306E\u51FA\u6240: platform = \u30D5\u30EC\u30FC\u30E0\u30EF\u30FC\u30AF\u7D44\u307F\u8FBC\u307F / package = \u30A2\u30D7\u30EA\u30FB\u30D1\u30C3\u30B1\u30FC\u30B8\u5BA3\u8A00\uFF08defineStack \u306E webhooks \u304B\u3089\u8D77\u52D5\u6642\u30B7\u30FC\u30C9\uFF09/ admin = Setup \u3067\u4F5C\u6210\u3002",
|
|
@@ -295,7 +319,7 @@ var esESObjects = {
|
|
|
295
319
|
},
|
|
296
320
|
name: {
|
|
297
321
|
label: "Nombre",
|
|
298
|
-
help: "Nombre snake_case \xFAnico; se usa en los registros y en la auditor\xEDa."
|
|
322
|
+
help: "Nombre snake_case, \xFAnico por organizaci\xF3n; se usa en los registros y en la auditor\xEDa."
|
|
299
323
|
},
|
|
300
324
|
label: {
|
|
301
325
|
label: "Nombre visible"
|
|
@@ -341,6 +365,14 @@ var esESObjects = {
|
|
|
341
365
|
label: "Definici\xF3n",
|
|
342
366
|
help: "JSON serializado de Webhook (consulte @objectstack/spec/automation/webhook): configuraci\xF3n completa de cabeceras/auth/reintentos/payload."
|
|
343
367
|
},
|
|
368
|
+
headers_secret: {
|
|
369
|
+
label: "Cabeceras personalizadas",
|
|
370
|
+
help: 'Cabeceras HTTP personalizadas enviadas con cada entrega, como un objeto JSON ({"Authorization": "Bearer \u2026"}). Se cifran en reposo en sys_secret; las lecturas devuelven una m\xE1scara, nunca las cabeceras. Deje la m\xE1scara sin tocar para conservar el valor actual.'
|
|
371
|
+
},
|
|
372
|
+
signing_secret: {
|
|
373
|
+
label: "Secreto de firma",
|
|
374
|
+
help: "Clave HMAC-SHA256 usada para firmar las entregas (X-Objectstack-Signature). Se cifra en reposo en sys_secret; las lecturas devuelven una m\xE1scara, nunca la clave. Deje la m\xE1scara sin tocar para conservar el valor actual."
|
|
375
|
+
},
|
|
344
376
|
managed_by: {
|
|
345
377
|
label: "Gestionado por",
|
|
346
378
|
help: "Procedencia del registro: platform = integrado en el framework / package = declarado por app o paquete (sembrado al arrancar desde los webhooks de defineStack) / admin = creado en Setup.",
|
|
@@ -388,4 +420,4 @@ var WebhooksTranslations = {
|
|
|
388
420
|
|
|
389
421
|
|
|
390
422
|
exports.WebhooksTranslations = WebhooksTranslations;
|
|
391
|
-
//# sourceMappingURL=translations-
|
|
423
|
+
//# sourceMappingURL=translations-IHRALWSP.cjs.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"sources":["/home/runner/work/objectstack/objectstack/packages/plugins/plugin-webhooks/dist/translations-IHRALWSP.cjs","../src/translations/en.objects.generated.ts","../src/translations/zh-CN.objects.generated.ts","../src/translations/ja-JP.objects.generated.ts","../src/translations/es-ES.objects.generated.ts","../src/translations/index.ts"],"names":[],"mappings":"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","file":"/home/runner/work/objectstack/objectstack/packages/plugins/plugin-webhooks/dist/translations-IHRALWSP.cjs","sourcesContent":[null,"// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'en'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const enObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Outbound HTTP webhook subscription. Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio editor; dispatched by the webhook auto-enqueuer onto the shared HTTP outbox.\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"Name\",\n help: \"snake_case name, unique per organization — referenced in logs and audit\"\n },\n label: {\n label: \"Display Label\"\n },\n object_name: {\n label: \"Object\",\n help: \"Short object name whose record events (create/update/delete) fire this webhook\"\n },\n triggers: {\n label: \"Triggers\",\n help: \"Record events that fire this webhook (bulk_* deliver a count, not a record)\",\n options: {\n create: \"create\",\n update: \"update\",\n delete: \"delete\",\n bulk_update: \"bulk_update\",\n bulk_delete: \"bulk_delete\"\n }\n },\n url: {\n label: \"Target URL\",\n help: \"External endpoint that receives the POST\"\n },\n method: {\n label: \"HTTP Method\",\n help: \"HTTP method used for the callback request\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"Description\"\n },\n active: {\n label: \"Active\",\n help: \"Inactive webhooks are skipped by the dispatcher\"\n },\n definition_json: {\n label: \"Definition\",\n help: \"Serialised Webhook JSON (see @objectstack/spec/automation/webhook) — timeout and the rest of the authored envelope. Credentials are NOT stored here: the signing secret lives in the encrypted `signing_secret` field and the custom headers in the encrypted `headers_secret` field.\"\n },\n headers_secret: {\n label: \"Custom Headers\",\n help: \"Custom HTTP headers sent with each delivery, as a JSON object ({\\\"Authorization\\\": \\\"Bearer …\\\"}). Encrypted at rest into sys_secret; reads return a mask, never the headers. Leave the mask untouched to keep the current value.\"\n },\n signing_secret: {\n label: \"Signing Secret\",\n help: \"HMAC-SHA256 key used to sign deliveries (X-Objectstack-Signature). Encrypted at rest into sys_secret; reads return a mask, never the key. Leave the mask untouched to keep the current value.\"\n },\n managed_by: {\n label: \"Managed By\",\n help: \"Record provenance: platform = framework built-in / package = app/package-declared (boot-seeded from defineStack webhooks) / admin = created in Setup.\",\n options: {\n platform: \"platform\",\n package: \"package\",\n admin: \"admin\"\n }\n },\n customized: {\n label: \"Customized\",\n help: \"Set when an admin edits a package-declared webhook; boot seeding will no longer overwrite the row (a deactivated noisy webhook survives redeploys). Meaningless on admin rows.\"\n },\n created_at: {\n label: \"Created At\"\n },\n updated_at: {\n label: \"Updated At\"\n }\n },\n _views: {\n active: {\n label: \"Active\"\n },\n inactive: {\n label: \"Inactive\"\n },\n by_object: {\n label: \"By Object\"\n },\n all_webhooks: {\n label: \"All\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'zh-CN'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const zhCNObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"外发 HTTP Webhook 订阅。可在代码中通过 defineWebhook() 编写,或在 Studio 编辑器中维护;由 HTTP 连接器插件执行。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名称\",\n help: \"snake_case 名称,在每个组织内唯一——用于日志和审计引用\"\n },\n label: {\n label: \"显示标签\"\n },\n object_name: {\n label: \"对象\",\n help: \"触发该 Webhook 的记录事件(create/update/delete)的短对象名\"\n },\n triggers: {\n label: \"触发器\",\n help: \"触发该 Webhook 的记录事件。bulk_update / bulk_delete 由谓词写(批量)触发,投递的是受影响条数而非记录。\",\n options: {\n create: \"创建\",\n update: \"更新\",\n delete: \"删除\",\n bulk_update: \"批量更新\",\n bulk_delete: \"批量删除\"\n }\n },\n url: {\n label: \"目标 URL\",\n help: \"接收 POST 请求的外部端点\"\n },\n method: {\n label: \"HTTP 方法\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"描述\"\n },\n active: {\n label: \"启用\",\n help: \"停用的 Webhook 会被调度器跳过\"\n },\n definition_json: {\n label: \"定义\",\n help: \"序列化的 Webhook JSON(参见 @objectstack/spec/automation/webhook)——包含完整的 headers/auth/retry/payload 配置\"\n },\n headers_secret: {\n label: \"自定义请求头\",\n help: \"随每次投递发送的自定义 HTTP 请求头,采用 JSON 对象格式({\\\"Authorization\\\": \\\"Bearer …\\\"})。静态存储时加密写入 sys_secret;读取只返回掩码,绝不返回请求头内容。保持掩码不变即保留当前值。\"\n },\n signing_secret: {\n label: \"签名密钥\",\n help: \"用于对投递请求签名的 HMAC-SHA256 密钥(X-Objectstack-Signature)。静态存储时加密写入 sys_secret;读取只返回掩码,绝不返回密钥。保持掩码不变即保留当前值。\"\n },\n managed_by: {\n label: \"管理来源\",\n help: \"记录来源:platform = 框架内置 / package = 应用包声明(由 defineStack 的 webhooks 在启动时种入)/ admin = 在 Setup 中创建。\",\n options: {\n platform: \"平台\",\n package: \"包\",\n admin: \"管理员\"\n }\n },\n customized: {\n label: \"已定制\",\n help: \"当管理员编辑应用包声明的 webhook 时置位;此后启动种入不再覆盖该行(被停用的嘈杂 webhook 可跨重新部署保留)。对 admin 来源的记录无意义。\"\n },\n created_at: {\n label: \"创建时间\"\n },\n updated_at: {\n label: \"更新时间\"\n }\n },\n _views: {\n active: {\n label: \"启用\"\n },\n inactive: {\n label: \"停用\"\n },\n by_object: {\n label: \"按对象\"\n },\n all_webhooks: {\n label: \"全部\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'ja-JP'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const jaJPObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhook\",\n description: \"送信 HTTP Webhook サブスクリプション。defineWebhook() またはスタジオエディタで作成し、HTTP コネクタプラグインが実行します。\",\n fields: {\n id: {\n label: \"Webhook ID\"\n },\n name: {\n label: \"名前\",\n help: \"snake_case 名(組織ごとに一意)— ログおよび監査で参照\"\n },\n label: {\n label: \"表示名\"\n },\n object_name: {\n label: \"オブジェクト\",\n help: \"このウェブフックを発火するレコードイベント(create/update/delete)のオブジェクト短縮名\"\n },\n triggers: {\n label: \"トリガー\",\n help: \"このウェブフックを発火するレコードイベント。bulk_update / bulk_delete は述語による一括書き込みで発火し、レコードではなく件数を配信します。\",\n options: {\n create: \"作成\",\n update: \"更新\",\n delete: \"削除\",\n bulk_update: \"一括更新\",\n bulk_delete: \"一括削除\"\n }\n },\n url: {\n label: \"ターゲット URL\",\n help: \"POST を受信する外部エンドポイント\"\n },\n method: {\n label: \"HTTP メソッド\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"説明\"\n },\n active: {\n label: \"有効\",\n help: \"無効にするとディスパッチャにスキップされます\"\n },\n definition_json: {\n label: \"定義\",\n help: \"シリアライズされた Webhook JSON(@objectstack/spec/automation/webhook 参照)— ヘッダー/認証/リトライ/ペイロード設定を含む\"\n },\n headers_secret: {\n label: \"カスタムヘッダー\",\n help: \"各配信で送信するカスタム HTTP ヘッダー。JSON オブジェクト形式({\\\"Authorization\\\": \\\"Bearer …\\\"})。保存時は sys_secret に暗号化され、読み取りではマスクのみが返りヘッダーは返りません。マスクをそのままにすると現在の値が維持されます。\"\n },\n signing_secret: {\n label: \"署名シークレット\",\n help: \"配信の署名に使う HMAC-SHA256 キー(X-Objectstack-Signature)。保存時は sys_secret に暗号化され、読み取りではマスクのみが返りキーは返りません。マスクをそのままにすると現在の値が維持されます。\"\n },\n managed_by: {\n label: \"管理元\",\n help: \"レコードの出所: platform = フレームワーク組み込み / package = アプリ・パッケージ宣言(defineStack の webhooks から起動時シード)/ admin = Setup で作成。\",\n options: {\n platform: \"プラットフォーム\",\n package: \"パッケージ\",\n admin: \"管理者\"\n }\n },\n customized: {\n label: \"カスタマイズ済み\",\n help: \"管理者がパッケージ宣言の webhook を編集すると設定されます。以後、起動時シードはこの行を上書きしません(無効化したノイジーな webhook は再デプロイ後も保持)。admin 行では意味を持ちません。\"\n },\n created_at: {\n label: \"作成日時\"\n },\n updated_at: {\n label: \"更新日時\"\n }\n },\n _views: {\n active: {\n label: \"有効\"\n },\n inactive: {\n label: \"無効\"\n },\n by_object: {\n label: \"オブジェクト別\"\n },\n all_webhooks: {\n label: \"すべて\"\n }\n }\n }\n};\n","// Copyright (c) 2025 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * Auto-generated by 'os i18n extract' for locale 'es-ES'.\n * Edit translations in place; re-run extract (with --merge) to fill new gaps.\n * Do not hand-edit the structure — only the leaf string values.\n * Merge only fills gaps: correcting a source label/description does not\n * push the correction into a leaf here that already holds a translation —\n * a present-but-stale string is not a gap, so it is left as-is. Re-translate\n * it by hand when its source changes; nothing here or in `os i18n check`\n * tells a leaf a translator updated on purpose from one nobody has looked\n * at since the source moved.\n */\n\nimport type { TranslationData } from '@objectstack/spec/system';\n\nexport const esESObjects: NonNullable<TranslationData['objects']> = {\n sys_webhook: {\n label: \"Webhook\",\n pluralLabel: \"Webhooks\",\n description: \"Suscripción saliente de Webhook HTTP. Se crea mediante defineWebhook() en código o con el editor de Studio; la ejecuta el plugin del conector HTTP.\",\n fields: {\n id: {\n label: \"ID de webhook\"\n },\n name: {\n label: \"Nombre\",\n help: \"Nombre snake_case, único por organización; se usa en los registros y en la auditoría.\"\n },\n label: {\n label: \"Nombre visible\"\n },\n object_name: {\n label: \"Objeto\",\n help: \"Nombre corto del objeto cuyos eventos de registro (create/update/delete) activan este Webhook.\"\n },\n triggers: {\n label: \"Desencadenantes\",\n help: \"Eventos de registro que activan este Webhook. bulk_update / bulk_delete se activan en escrituras por predicado y entregan un recuento, no un registro.\",\n options: {\n create: \"Crear\",\n update: \"Actualizar\",\n delete: \"Eliminar\",\n bulk_update: \"Actualización masiva\",\n bulk_delete: \"Eliminación masiva\"\n }\n },\n url: {\n label: \"URL de destino\",\n help: \"Endpoint externo que recibe el POST.\"\n },\n method: {\n label: \"Método HTTP\",\n help: \"GET / POST / PUT / PATCH / DELETE\",\n options: {\n get: \"GET\",\n post: \"POST\",\n put: \"PUT\",\n patch: \"PATCH\",\n delete: \"DELETE\"\n }\n },\n description: {\n label: \"Descripción\"\n },\n active: {\n label: \"Activo\",\n help: \"Los Webhooks inactivos se omiten en el despachador.\"\n },\n definition_json: {\n label: \"Definición\",\n help: \"JSON serializado de Webhook (consulte @objectstack/spec/automation/webhook): configuración completa de cabeceras/auth/reintentos/payload.\"\n },\n headers_secret: {\n label: \"Cabeceras personalizadas\",\n help: \"Cabeceras HTTP personalizadas enviadas con cada entrega, como un objeto JSON ({\\\"Authorization\\\": \\\"Bearer …\\\"}). Se cifran en reposo en sys_secret; las lecturas devuelven una máscara, nunca las cabeceras. Deje la máscara sin tocar para conservar el valor actual.\"\n },\n signing_secret: {\n label: \"Secreto de firma\",\n help: \"Clave HMAC-SHA256 usada para firmar las entregas (X-Objectstack-Signature). Se cifra en reposo en sys_secret; las lecturas devuelven una máscara, nunca la clave. Deje la máscara sin tocar para conservar el valor actual.\"\n },\n managed_by: {\n label: \"Gestionado por\",\n help: \"Procedencia del registro: platform = integrado en el framework / package = declarado por app o paquete (sembrado al arrancar desde los webhooks de defineStack) / admin = creado en Setup.\",\n options: {\n platform: \"Plataforma\",\n package: \"Paquete\",\n admin: \"Administrador\"\n }\n },\n customized: {\n label: \"Personalizado\",\n help: \"Se establece cuando un administrador edita un webhook declarado por un paquete; a partir de entonces el sembrado de arranque deja de sobrescribir la fila (un webhook ruidoso desactivado sobrevive a los redespliegues). Sin sentido en filas admin.\"\n },\n created_at: {\n label: \"Creado el\"\n },\n updated_at: {\n label: \"Actualizado el\"\n }\n },\n _views: {\n active: {\n label: \"Activo\"\n },\n inactive: {\n label: \"Inactivo\"\n },\n by_object: {\n label: \"Por objeto\"\n },\n all_webhooks: {\n label: \"Todos\"\n }\n }\n }\n};\n","// Copyright (c) 2026 ObjectStack. Licensed under the Apache-2.0 license.\n\n/**\n * WebhooksTranslations — i18n bundle owned by this plugin (ADR-0029 D8).\n *\n * Object label/field/view/action translations for the sys_* objects this\n * plugin owns. Loaded at runtime via the plugin's `kernel:ready` hook\n * (`i18n.loadTranslations`). Regenerate with `os i18n extract` against\n * `scripts/i18n-extract.config.ts`.\n */\n\nimport type { TranslationBundle } from '@objectstack/spec/system';\nimport { enObjects } from './en.objects.generated.js';\nimport { zhCNObjects } from './zh-CN.objects.generated.js';\nimport { jaJPObjects } from './ja-JP.objects.generated.js';\nimport { esESObjects } from './es-ES.objects.generated.js';\n\nexport const WebhooksTranslations: TranslationBundle = {\n en: { objects: enObjects },\n 'zh-CN': { objects: zhCNObjects },\n 'ja-JP': { objects: jaJPObjects },\n 'es-ES': { objects: esESObjects },\n};\n"]}
|
package/package.json
CHANGED
|
@@ -1,6 +1,6 @@
|
|
|
1
1
|
{
|
|
2
2
|
"name": "@objectstack/plugin-webhooks",
|
|
3
|
-
"version": "17.
|
|
3
|
+
"version": "17.1.0",
|
|
4
4
|
"license": "Apache-2.0",
|
|
5
5
|
"description": "Persistent, cluster-aware webhook dispatcher. Durable outbox + per-partition cluster.lock for exactly-once-ish delivery across nodes. See content/docs/concepts/webhook-delivery.mdx.",
|
|
6
6
|
"type": "module",
|
|
@@ -19,14 +19,16 @@
|
|
|
19
19
|
}
|
|
20
20
|
},
|
|
21
21
|
"dependencies": {
|
|
22
|
-
"@objectstack/
|
|
23
|
-
"@objectstack/
|
|
24
|
-
"@objectstack/
|
|
22
|
+
"@objectstack/core": "17.1.0",
|
|
23
|
+
"@objectstack/service-messaging": "17.1.0",
|
|
24
|
+
"@objectstack/spec": "17.1.0"
|
|
25
25
|
},
|
|
26
26
|
"devDependencies": {
|
|
27
|
-
"@types/node": "^26.
|
|
27
|
+
"@types/node": "^26.2.0",
|
|
28
28
|
"typescript": "^6.0.3",
|
|
29
|
-
"vitest": "^4.1.10"
|
|
29
|
+
"vitest": "^4.1.10",
|
|
30
|
+
"@objectstack/objectql": "17.1.0",
|
|
31
|
+
"@objectstack/metadata-core": "17.1.0"
|
|
30
32
|
},
|
|
31
33
|
"keywords": [
|
|
32
34
|
"objectstack",
|
package/dist/chunk-3QGZLM3T.js
DELETED
|
@@ -1,186 +0,0 @@
|
|
|
1
|
-
// src/sys-webhook.object.ts
|
|
2
|
-
import { ObjectSchema, Field } from "@objectstack/spec/data";
|
|
3
|
-
var SysWebhook = ObjectSchema.create({
|
|
4
|
-
name: "sys_webhook",
|
|
5
|
-
label: "Webhook",
|
|
6
|
-
pluralLabel: "Webhooks",
|
|
7
|
-
icon: "webhook",
|
|
8
|
-
isSystem: true,
|
|
9
|
-
managedBy: "config",
|
|
10
|
-
// Authoring a webhook from the UI requires a structured form for the
|
|
11
|
-
// headers / auth / retry / payload blocks — the generic JSON textarea
|
|
12
|
-
// is acceptable as a v1 until a dedicated builder lands. Re-enable
|
|
13
|
-
// create/edit/delete so admins can at least toggle `active` and edit
|
|
14
|
-
// simple URL/method fields without round-tripping through code.
|
|
15
|
-
userActions: { create: true, edit: true, delete: true, import: false },
|
|
16
|
-
description: "Outbound HTTP webhook subscription. Declared in code via defineStack({ webhooks }) / defineWebhook() (materialized into rows on boot) or authored directly in the Studio editor; dispatched by the webhook auto-enqueuer onto the shared HTTP outbox.",
|
|
17
|
-
displayNameField: "name",
|
|
18
|
-
nameField: "name",
|
|
19
|
-
// [ADR-0079] canonical primary-title pointer (mirrors deprecated displayNameField)
|
|
20
|
-
titleFormat: "{label}",
|
|
21
|
-
highlightFields: ["name", "object_name", "url", "active", "updated_at"],
|
|
22
|
-
listViews: {
|
|
23
|
-
active: {
|
|
24
|
-
type: "grid",
|
|
25
|
-
name: "active",
|
|
26
|
-
label: "Active",
|
|
27
|
-
data: { provider: "object", object: "sys_webhook" },
|
|
28
|
-
columns: ["label", "object_name", "url", "method", "active", "updated_at"],
|
|
29
|
-
filter: [{ field: "active", operator: "equals", value: true }],
|
|
30
|
-
sort: [{ field: "label", order: "asc" }],
|
|
31
|
-
pagination: { pageSize: 50 }
|
|
32
|
-
},
|
|
33
|
-
inactive: {
|
|
34
|
-
type: "grid",
|
|
35
|
-
name: "inactive",
|
|
36
|
-
label: "Inactive",
|
|
37
|
-
data: { provider: "object", object: "sys_webhook" },
|
|
38
|
-
columns: ["label", "object_name", "url", "method", "active", "updated_at"],
|
|
39
|
-
filter: [{ field: "active", operator: "equals", value: false }],
|
|
40
|
-
sort: [{ field: "label", order: "asc" }],
|
|
41
|
-
pagination: { pageSize: 50 }
|
|
42
|
-
},
|
|
43
|
-
by_object: {
|
|
44
|
-
type: "grid",
|
|
45
|
-
name: "by_object",
|
|
46
|
-
label: "By Object",
|
|
47
|
-
data: { provider: "object", object: "sys_webhook" },
|
|
48
|
-
columns: ["object_name", "label", "url", "active", "updated_at"],
|
|
49
|
-
sort: [{ field: "object_name", order: "asc" }, { field: "label", order: "asc" }],
|
|
50
|
-
grouping: { fields: [{ field: "object_name", order: "asc", collapsed: false }] },
|
|
51
|
-
pagination: { pageSize: 100 }
|
|
52
|
-
},
|
|
53
|
-
all_webhooks: {
|
|
54
|
-
type: "grid",
|
|
55
|
-
name: "all_webhooks",
|
|
56
|
-
label: "All",
|
|
57
|
-
data: { provider: "object", object: "sys_webhook" },
|
|
58
|
-
columns: ["label", "object_name", "url", "method", "active", "updated_at"],
|
|
59
|
-
sort: [{ field: "label", order: "asc" }],
|
|
60
|
-
pagination: { pageSize: 50 }
|
|
61
|
-
}
|
|
62
|
-
},
|
|
63
|
-
fields: {
|
|
64
|
-
id: Field.text({ label: "Webhook ID", required: true, readonly: true, group: "System" }),
|
|
65
|
-
name: Field.text({
|
|
66
|
-
label: "Name",
|
|
67
|
-
required: true,
|
|
68
|
-
maxLength: 100,
|
|
69
|
-
description: "Unique snake_case name \u2014 referenced in logs and audit",
|
|
70
|
-
group: "Definition"
|
|
71
|
-
}),
|
|
72
|
-
label: Field.text({
|
|
73
|
-
label: "Display Label",
|
|
74
|
-
required: false,
|
|
75
|
-
maxLength: 200,
|
|
76
|
-
group: "Definition"
|
|
77
|
-
}),
|
|
78
|
-
object_name: Field.text({
|
|
79
|
-
label: "Object",
|
|
80
|
-
required: false,
|
|
81
|
-
maxLength: 100,
|
|
82
|
-
// Object picker (same widget as sys_sharing_rule) instead of a free-text
|
|
83
|
-
// machine name. Falls back to a text input when the widget is unavailable.
|
|
84
|
-
widget: "object-ref",
|
|
85
|
-
description: "Short object name whose record events (create/update/delete) fire this webhook",
|
|
86
|
-
group: "Definition"
|
|
87
|
-
}),
|
|
88
|
-
triggers: Field.select(
|
|
89
|
-
["create", "update", "delete", "bulk_update", "bulk_delete"],
|
|
90
|
-
{
|
|
91
|
-
label: "Triggers",
|
|
92
|
-
required: false,
|
|
93
|
-
// Multi-select instead of a hand-typed comma-separated string. Stored as
|
|
94
|
-
// an array; the auto-enqueuer parser also tolerates the legacy
|
|
95
|
-
// comma-separated / JSON-string forms so existing rows keep working.
|
|
96
|
-
multiple: true,
|
|
97
|
-
// [#4639] `bulk_*` fire on predicate writes (`multi: true`), whose
|
|
98
|
-
// delivery carries `matched` instead of a record — opt-in precisely
|
|
99
|
-
// because that body is a different shape. Kept in step with
|
|
100
|
-
// `WebhookTriggerType` (`@objectstack/spec/automation`), which is the
|
|
101
|
-
// contract the auto-enqueuer validates against.
|
|
102
|
-
description: "Record events that fire this webhook (bulk_* deliver a count, not a record)",
|
|
103
|
-
group: "Definition"
|
|
104
|
-
}
|
|
105
|
-
),
|
|
106
|
-
url: Field.text({
|
|
107
|
-
label: "Target URL",
|
|
108
|
-
required: true,
|
|
109
|
-
maxLength: 2048,
|
|
110
|
-
description: "External endpoint that receives the POST",
|
|
111
|
-
group: "Definition"
|
|
112
|
-
}),
|
|
113
|
-
method: Field.select(
|
|
114
|
-
["GET", "POST", "PUT", "PATCH", "DELETE"],
|
|
115
|
-
{
|
|
116
|
-
label: "HTTP Method",
|
|
117
|
-
required: true,
|
|
118
|
-
// Select instead of free text. Option values are lowercased by the
|
|
119
|
-
// Field.select helper (get/post/…); the auto-enqueuer upper-cases the
|
|
120
|
-
// resolved method before delivery, so existing 'POST' rows and the
|
|
121
|
-
// lowercase option values both normalise correctly.
|
|
122
|
-
defaultValue: "post",
|
|
123
|
-
description: "HTTP method used for the callback request",
|
|
124
|
-
group: "Definition"
|
|
125
|
-
}
|
|
126
|
-
),
|
|
127
|
-
description: Field.textarea({ label: "Description", required: false, group: "Definition" }),
|
|
128
|
-
active: Field.boolean({
|
|
129
|
-
label: "Active",
|
|
130
|
-
required: true,
|
|
131
|
-
defaultValue: true,
|
|
132
|
-
description: "Inactive webhooks are skipped by the dispatcher",
|
|
133
|
-
group: "Definition"
|
|
134
|
-
}),
|
|
135
|
-
definition_json: Field.textarea({
|
|
136
|
-
label: "Definition",
|
|
137
|
-
required: true,
|
|
138
|
-
description: "Serialised Webhook JSON (see @objectstack/spec/automation/webhook) \u2014 full headers/auth/retry/payload config",
|
|
139
|
-
group: "Definition"
|
|
140
|
-
}),
|
|
141
|
-
// ── Provenance (#3461 — record-authoritative seed-not-clobber) ──
|
|
142
|
-
// Mirrors sys_sharing_rule (#2909). Both columns are `readonly`: the
|
|
143
|
-
// engine strips them from non-system payloads (forge/clear-proof), while
|
|
144
|
-
// bootstrapDeclaredWebhooks and the provenance stamp hook write with
|
|
145
|
-
// isSystem. Deliberately NOT a write gate: webhooks are a first-class admin
|
|
146
|
-
// authoring/tuning surface — admins may edit or deactivate a package row;
|
|
147
|
-
// the seeder simply stops overwriting it once `customized` is stamped.
|
|
148
|
-
managed_by: Field.select(
|
|
149
|
-
["platform", "package", "admin"],
|
|
150
|
-
{
|
|
151
|
-
label: "Managed By",
|
|
152
|
-
required: false,
|
|
153
|
-
readonly: true,
|
|
154
|
-
defaultValue: "admin",
|
|
155
|
-
description: "Record provenance: platform = framework built-in / package = app/package-declared (boot-seeded from defineStack webhooks) / admin = created in Setup.",
|
|
156
|
-
group: "System"
|
|
157
|
-
}
|
|
158
|
-
),
|
|
159
|
-
customized: Field.boolean({
|
|
160
|
-
label: "Customized",
|
|
161
|
-
required: false,
|
|
162
|
-
readonly: true,
|
|
163
|
-
defaultValue: false,
|
|
164
|
-
description: "Set when an admin edits a package-declared webhook; boot seeding will no longer overwrite the row (a deactivated noisy webhook survives redeploys). Meaningless on admin rows.",
|
|
165
|
-
group: "System"
|
|
166
|
-
}),
|
|
167
|
-
created_at: Field.datetime({
|
|
168
|
-
label: "Created At",
|
|
169
|
-
required: true,
|
|
170
|
-
defaultValue: "NOW()",
|
|
171
|
-
readonly: true,
|
|
172
|
-
group: "System"
|
|
173
|
-
}),
|
|
174
|
-
updated_at: Field.datetime({ label: "Updated At", required: false, group: "System" })
|
|
175
|
-
},
|
|
176
|
-
indexes: [
|
|
177
|
-
{ fields: ["name"], unique: true },
|
|
178
|
-
{ fields: ["object_name"] },
|
|
179
|
-
{ fields: ["active", "object_name"] }
|
|
180
|
-
]
|
|
181
|
-
});
|
|
182
|
-
|
|
183
|
-
export {
|
|
184
|
-
SysWebhook
|
|
185
|
-
};
|
|
186
|
-
//# sourceMappingURL=chunk-3QGZLM3T.js.map
|