@suveren/gateway 0.2.7 → 0.2.9
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/dist/mcp-server/http.mjs +75 -5
- package/package.json +1 -1
- package/profiles/README.md +209 -0
- package/profiles/calendar/0.4.profile.json +183 -0
- package/profiles/charge/0.3.profile.json +173 -0
- package/profiles/charge/0.4.profile.json +200 -0
- package/profiles/customers/0.4.profile.json +111 -0
- package/profiles/email/0.3.profile.json +119 -0
- package/profiles/email/0.4.profile.json +174 -0
- package/profiles/index.json +12 -0
- package/profiles/publish/0.4.profile.json +174 -0
- package/profiles/purchase/0.4.profile.json +225 -0
- package/profiles/records/0.4.profile.json +105 -0
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "github.com/humanagencyprotocol/hap-profiles/email@0.4",
|
|
3
|
+
"name": "Email",
|
|
4
|
+
"version": "0.4",
|
|
5
|
+
"description": "Email authority \u2014 governs sending, drafting, and reading email via Gmail",
|
|
6
|
+
"boundsSchema": {
|
|
7
|
+
"keyOrder": [
|
|
8
|
+
"profile",
|
|
9
|
+
"recipient_max",
|
|
10
|
+
"send_daily_max",
|
|
11
|
+
"read_max_age_days",
|
|
12
|
+
"read_daily_max"
|
|
13
|
+
],
|
|
14
|
+
"fields": {
|
|
15
|
+
"profile": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"required": true
|
|
18
|
+
},
|
|
19
|
+
"recipient_max": {
|
|
20
|
+
"type": "number",
|
|
21
|
+
"required": false,
|
|
22
|
+
"displayName": "Recipients per email",
|
|
23
|
+
"description": "Maximum recipients per email",
|
|
24
|
+
"unit": "count",
|
|
25
|
+
"boundType": {
|
|
26
|
+
"kind": "per_transaction",
|
|
27
|
+
"of": "recipient_count"
|
|
28
|
+
},
|
|
29
|
+
"paths": [
|
|
30
|
+
"email-send",
|
|
31
|
+
"email-draft"
|
|
32
|
+
]
|
|
33
|
+
},
|
|
34
|
+
"send_daily_max": {
|
|
35
|
+
"type": "number",
|
|
36
|
+
"required": false,
|
|
37
|
+
"displayName": "Daily send limit",
|
|
38
|
+
"description": "Maximum emails sent or drafted per day",
|
|
39
|
+
"unit": "count",
|
|
40
|
+
"boundType": {
|
|
41
|
+
"kind": "cumulative_count",
|
|
42
|
+
"window": "daily"
|
|
43
|
+
},
|
|
44
|
+
"paths": [
|
|
45
|
+
"email-send",
|
|
46
|
+
"email-draft"
|
|
47
|
+
]
|
|
48
|
+
},
|
|
49
|
+
"read_max_age_days": {
|
|
50
|
+
"type": "number",
|
|
51
|
+
"required": false,
|
|
52
|
+
"displayName": "Max email age (days)",
|
|
53
|
+
"description": "Maximum age in days for email search",
|
|
54
|
+
"unit": "days",
|
|
55
|
+
"boundType": {
|
|
56
|
+
"kind": "per_transaction",
|
|
57
|
+
"of": "read_age_days"
|
|
58
|
+
},
|
|
59
|
+
"paths": [
|
|
60
|
+
"email-read"
|
|
61
|
+
]
|
|
62
|
+
},
|
|
63
|
+
"read_daily_max": {
|
|
64
|
+
"type": "number",
|
|
65
|
+
"required": false,
|
|
66
|
+
"displayName": "Daily read limit",
|
|
67
|
+
"description": "Maximum emails read per day",
|
|
68
|
+
"unit": "count",
|
|
69
|
+
"boundType": {
|
|
70
|
+
"kind": "cumulative_count",
|
|
71
|
+
"window": "daily"
|
|
72
|
+
},
|
|
73
|
+
"paths": [
|
|
74
|
+
"email-read"
|
|
75
|
+
]
|
|
76
|
+
}
|
|
77
|
+
}
|
|
78
|
+
},
|
|
79
|
+
"contextSchema": {
|
|
80
|
+
"keyOrder": [
|
|
81
|
+
"allowed_recipients",
|
|
82
|
+
"allowed_domains"
|
|
83
|
+
],
|
|
84
|
+
"fields": {
|
|
85
|
+
"allowed_recipients": {
|
|
86
|
+
"type": "string",
|
|
87
|
+
"required": false,
|
|
88
|
+
"displayName": "Allowed recipients",
|
|
89
|
+
"format": "email",
|
|
90
|
+
"description": "Comma-separated list of allowed email addresses",
|
|
91
|
+
"constraint": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"enforceable": [
|
|
94
|
+
"subset"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
},
|
|
98
|
+
"allowed_domains": {
|
|
99
|
+
"type": "string",
|
|
100
|
+
"required": false,
|
|
101
|
+
"displayName": "Allowed domains",
|
|
102
|
+
"format": "domain",
|
|
103
|
+
"description": "Comma-separated list of allowed recipient domains (e.g. acme.com,partner.org)",
|
|
104
|
+
"constraint": {
|
|
105
|
+
"type": "string",
|
|
106
|
+
"enforceable": [
|
|
107
|
+
"subset"
|
|
108
|
+
]
|
|
109
|
+
}
|
|
110
|
+
}
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"executionContextSchema": {
|
|
114
|
+
"fields": {
|
|
115
|
+
"recipient_count": {
|
|
116
|
+
"source": "declared",
|
|
117
|
+
"description": "Number of recipients in this email",
|
|
118
|
+
"required": true,
|
|
119
|
+
"constraint": {
|
|
120
|
+
"type": "number",
|
|
121
|
+
"enforceable": [
|
|
122
|
+
"max"
|
|
123
|
+
]
|
|
124
|
+
}
|
|
125
|
+
},
|
|
126
|
+
"allowed_recipients": {
|
|
127
|
+
"source": "declared",
|
|
128
|
+
"description": "Comma-separated recipient addresses from this call (checked against context)",
|
|
129
|
+
"required": false,
|
|
130
|
+
"constraint": {
|
|
131
|
+
"type": "string",
|
|
132
|
+
"enforceable": [
|
|
133
|
+
"subset"
|
|
134
|
+
]
|
|
135
|
+
}
|
|
136
|
+
},
|
|
137
|
+
"allowed_domains": {
|
|
138
|
+
"source": "declared",
|
|
139
|
+
"description": "Comma-separated unique recipient domains from this call (checked against context)",
|
|
140
|
+
"required": false,
|
|
141
|
+
"constraint": {
|
|
142
|
+
"type": "string",
|
|
143
|
+
"enforceable": [
|
|
144
|
+
"subset"
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"send_count_daily": {
|
|
149
|
+
"source": "cumulative",
|
|
150
|
+
"cumulativeField": "_count",
|
|
151
|
+
"window": "daily",
|
|
152
|
+
"description": "Running daily send/draft count (resolved from execution log)",
|
|
153
|
+
"required": true,
|
|
154
|
+
"constraint": {
|
|
155
|
+
"type": "number",
|
|
156
|
+
"enforceable": [
|
|
157
|
+
"max"
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"requiredGates": [
|
|
164
|
+
"bounds",
|
|
165
|
+
"intent",
|
|
166
|
+
"commitment",
|
|
167
|
+
"decision_owner"
|
|
168
|
+
],
|
|
169
|
+
"ttl": {
|
|
170
|
+
"default": 86400,
|
|
171
|
+
"max": 31536000
|
|
172
|
+
},
|
|
173
|
+
"retention_minimum": 7776000
|
|
174
|
+
}
|
|
@@ -0,0 +1,12 @@
|
|
|
1
|
+
{
|
|
2
|
+
"repository": "github.com/humanagencyprotocol/hap-profiles",
|
|
3
|
+
"profiles": {
|
|
4
|
+
"github.com/humanagencyprotocol/hap-profiles/charge@0.4": "charge/0.4.profile.json",
|
|
5
|
+
"github.com/humanagencyprotocol/hap-profiles/purchase@0.4": "purchase/0.4.profile.json",
|
|
6
|
+
"github.com/humanagencyprotocol/hap-profiles/email@0.4": "email/0.4.profile.json",
|
|
7
|
+
"github.com/humanagencyprotocol/hap-profiles/customers@0.4": "customers/0.4.profile.json",
|
|
8
|
+
"github.com/humanagencyprotocol/hap-profiles/calendar@0.4": "calendar/0.4.profile.json",
|
|
9
|
+
"github.com/humanagencyprotocol/hap-profiles/publish@0.4": "publish/0.4.profile.json",
|
|
10
|
+
"github.com/humanagencyprotocol/hap-profiles/records@0.4": "records/0.4.profile.json"
|
|
11
|
+
}
|
|
12
|
+
}
|
|
@@ -0,0 +1,174 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "github.com/humanagencyprotocol/hap-profiles/publish@0.4",
|
|
3
|
+
"name": "Content Publishing",
|
|
4
|
+
"version": "0.4",
|
|
5
|
+
"description": "Publishing authority \u2014 governs posting public content to social media, blogs, and other platforms",
|
|
6
|
+
"boundsSchema": {
|
|
7
|
+
"keyOrder": [
|
|
8
|
+
"profile",
|
|
9
|
+
"post_daily_max",
|
|
10
|
+
"post_monthly_max"
|
|
11
|
+
],
|
|
12
|
+
"fields": {
|
|
13
|
+
"profile": {
|
|
14
|
+
"type": "string",
|
|
15
|
+
"required": true
|
|
16
|
+
},
|
|
17
|
+
"post_daily_max": {
|
|
18
|
+
"type": "number",
|
|
19
|
+
"required": true,
|
|
20
|
+
"displayName": "Daily post limit",
|
|
21
|
+
"description": "Maximum posts published per day",
|
|
22
|
+
"unit": "count",
|
|
23
|
+
"boundType": {
|
|
24
|
+
"kind": "cumulative_count",
|
|
25
|
+
"window": "daily"
|
|
26
|
+
}
|
|
27
|
+
},
|
|
28
|
+
"post_monthly_max": {
|
|
29
|
+
"type": "number",
|
|
30
|
+
"required": true,
|
|
31
|
+
"displayName": "Monthly post limit",
|
|
32
|
+
"description": "Maximum posts published per month",
|
|
33
|
+
"unit": "count",
|
|
34
|
+
"boundType": {
|
|
35
|
+
"kind": "cumulative_count",
|
|
36
|
+
"window": "monthly"
|
|
37
|
+
}
|
|
38
|
+
}
|
|
39
|
+
}
|
|
40
|
+
},
|
|
41
|
+
"contextSchema": {
|
|
42
|
+
"keyOrder": [
|
|
43
|
+
"allowed_platforms",
|
|
44
|
+
"content_type",
|
|
45
|
+
"audience"
|
|
46
|
+
],
|
|
47
|
+
"fields": {
|
|
48
|
+
"allowed_platforms": {
|
|
49
|
+
"type": "string",
|
|
50
|
+
"required": true,
|
|
51
|
+
"displayName": "Platforms",
|
|
52
|
+
"description": "Authorized publishing platforms",
|
|
53
|
+
"enum": [
|
|
54
|
+
"linkedin"
|
|
55
|
+
],
|
|
56
|
+
"constraint": {
|
|
57
|
+
"type": "string",
|
|
58
|
+
"enforceable": [
|
|
59
|
+
"subset"
|
|
60
|
+
]
|
|
61
|
+
}
|
|
62
|
+
},
|
|
63
|
+
"content_type": {
|
|
64
|
+
"type": "string",
|
|
65
|
+
"required": true,
|
|
66
|
+
"displayName": "Content types",
|
|
67
|
+
"description": "Authorized content formats",
|
|
68
|
+
"enum": [
|
|
69
|
+
"text",
|
|
70
|
+
"image",
|
|
71
|
+
"link",
|
|
72
|
+
"article"
|
|
73
|
+
],
|
|
74
|
+
"constraint": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"enforceable": [
|
|
77
|
+
"subset"
|
|
78
|
+
]
|
|
79
|
+
}
|
|
80
|
+
},
|
|
81
|
+
"audience": {
|
|
82
|
+
"type": "string",
|
|
83
|
+
"required": true,
|
|
84
|
+
"displayName": "Audience",
|
|
85
|
+
"description": "Authorized audience visibility",
|
|
86
|
+
"enum": [
|
|
87
|
+
"public",
|
|
88
|
+
"followers",
|
|
89
|
+
"connections"
|
|
90
|
+
],
|
|
91
|
+
"constraint": {
|
|
92
|
+
"type": "string",
|
|
93
|
+
"enforceable": [
|
|
94
|
+
"subset"
|
|
95
|
+
]
|
|
96
|
+
}
|
|
97
|
+
}
|
|
98
|
+
}
|
|
99
|
+
},
|
|
100
|
+
"executionContextSchema": {
|
|
101
|
+
"fields": {
|
|
102
|
+
"allowed_platforms": {
|
|
103
|
+
"source": "declared",
|
|
104
|
+
"description": "Platform being published to (checked against authorized platforms)",
|
|
105
|
+
"required": true,
|
|
106
|
+
"constraint": {
|
|
107
|
+
"type": "string",
|
|
108
|
+
"enforceable": [
|
|
109
|
+
"subset"
|
|
110
|
+
]
|
|
111
|
+
}
|
|
112
|
+
},
|
|
113
|
+
"content_type": {
|
|
114
|
+
"source": "declared",
|
|
115
|
+
"description": "Content format being published",
|
|
116
|
+
"required": true,
|
|
117
|
+
"constraint": {
|
|
118
|
+
"type": "string",
|
|
119
|
+
"enforceable": [
|
|
120
|
+
"subset"
|
|
121
|
+
]
|
|
122
|
+
}
|
|
123
|
+
},
|
|
124
|
+
"audience": {
|
|
125
|
+
"source": "declared",
|
|
126
|
+
"description": "Audience visibility for this post",
|
|
127
|
+
"required": true,
|
|
128
|
+
"constraint": {
|
|
129
|
+
"type": "string",
|
|
130
|
+
"enforceable": [
|
|
131
|
+
"subset"
|
|
132
|
+
]
|
|
133
|
+
}
|
|
134
|
+
},
|
|
135
|
+
"post_count_daily": {
|
|
136
|
+
"source": "cumulative",
|
|
137
|
+
"cumulativeField": "_count",
|
|
138
|
+
"window": "daily",
|
|
139
|
+
"description": "Running daily post count (resolved from execution log)",
|
|
140
|
+
"required": true,
|
|
141
|
+
"constraint": {
|
|
142
|
+
"type": "number",
|
|
143
|
+
"enforceable": [
|
|
144
|
+
"max"
|
|
145
|
+
]
|
|
146
|
+
}
|
|
147
|
+
},
|
|
148
|
+
"post_count_monthly": {
|
|
149
|
+
"source": "cumulative",
|
|
150
|
+
"cumulativeField": "_count",
|
|
151
|
+
"window": "monthly",
|
|
152
|
+
"description": "Running monthly post count (resolved from execution log)",
|
|
153
|
+
"required": true,
|
|
154
|
+
"constraint": {
|
|
155
|
+
"type": "number",
|
|
156
|
+
"enforceable": [
|
|
157
|
+
"max"
|
|
158
|
+
]
|
|
159
|
+
}
|
|
160
|
+
}
|
|
161
|
+
}
|
|
162
|
+
},
|
|
163
|
+
"requiredGates": [
|
|
164
|
+
"bounds",
|
|
165
|
+
"intent",
|
|
166
|
+
"commitment",
|
|
167
|
+
"decision_owner"
|
|
168
|
+
],
|
|
169
|
+
"ttl": {
|
|
170
|
+
"default": 86400,
|
|
171
|
+
"max": 31536000
|
|
172
|
+
},
|
|
173
|
+
"retention_minimum": 7776000
|
|
174
|
+
}
|
|
@@ -0,0 +1,225 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "github.com/humanagencyprotocol/hap-profiles/purchase@0.4",
|
|
3
|
+
"name": "Purchase",
|
|
4
|
+
"version": "0.4",
|
|
5
|
+
"description": "Purchase authority \u2014 governs spending company money: subscriptions, supplies, services, advertising",
|
|
6
|
+
"boundsSchema": {
|
|
7
|
+
"keyOrder": [
|
|
8
|
+
"profile",
|
|
9
|
+
"spend_max",
|
|
10
|
+
"spend_daily_max",
|
|
11
|
+
"spend_monthly_max",
|
|
12
|
+
"transaction_count_daily_max"
|
|
13
|
+
],
|
|
14
|
+
"fields": {
|
|
15
|
+
"profile": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"required": true
|
|
18
|
+
},
|
|
19
|
+
"spend_max": {
|
|
20
|
+
"type": "number",
|
|
21
|
+
"required": true,
|
|
22
|
+
"displayName": "Max per transaction",
|
|
23
|
+
"description": "Maximum spend per transaction in currency units",
|
|
24
|
+
"unit": "currency:EUR",
|
|
25
|
+
"boundType": {
|
|
26
|
+
"kind": "per_transaction",
|
|
27
|
+
"of": "spend"
|
|
28
|
+
}
|
|
29
|
+
},
|
|
30
|
+
"spend_daily_max": {
|
|
31
|
+
"type": "number",
|
|
32
|
+
"required": true,
|
|
33
|
+
"displayName": "Daily spend limit",
|
|
34
|
+
"description": "Maximum cumulative spend per day in currency units",
|
|
35
|
+
"unit": "currency:EUR",
|
|
36
|
+
"boundType": {
|
|
37
|
+
"kind": "cumulative_sum",
|
|
38
|
+
"of": "spend",
|
|
39
|
+
"window": "daily"
|
|
40
|
+
}
|
|
41
|
+
},
|
|
42
|
+
"spend_monthly_max": {
|
|
43
|
+
"type": "number",
|
|
44
|
+
"required": true,
|
|
45
|
+
"displayName": "Monthly spend limit",
|
|
46
|
+
"description": "Maximum cumulative spend per month in currency units",
|
|
47
|
+
"unit": "currency:EUR",
|
|
48
|
+
"boundType": {
|
|
49
|
+
"kind": "cumulative_sum",
|
|
50
|
+
"of": "spend",
|
|
51
|
+
"window": "monthly"
|
|
52
|
+
}
|
|
53
|
+
},
|
|
54
|
+
"transaction_count_daily_max": {
|
|
55
|
+
"type": "number",
|
|
56
|
+
"required": true,
|
|
57
|
+
"displayName": "Daily transaction limit",
|
|
58
|
+
"description": "Maximum number of purchase transactions per day",
|
|
59
|
+
"unit": "count",
|
|
60
|
+
"boundType": {
|
|
61
|
+
"kind": "cumulative_count",
|
|
62
|
+
"window": "daily"
|
|
63
|
+
}
|
|
64
|
+
}
|
|
65
|
+
}
|
|
66
|
+
},
|
|
67
|
+
"contextSchema": {
|
|
68
|
+
"keyOrder": [
|
|
69
|
+
"currency",
|
|
70
|
+
"category",
|
|
71
|
+
"allowed_vendors"
|
|
72
|
+
],
|
|
73
|
+
"fields": {
|
|
74
|
+
"currency": {
|
|
75
|
+
"type": "string",
|
|
76
|
+
"required": true,
|
|
77
|
+
"displayName": "Currency",
|
|
78
|
+
"description": "Permitted currency code",
|
|
79
|
+
"constraint": {
|
|
80
|
+
"type": "string",
|
|
81
|
+
"enforceable": [
|
|
82
|
+
"enum"
|
|
83
|
+
]
|
|
84
|
+
},
|
|
85
|
+
"enum": [
|
|
86
|
+
"USD",
|
|
87
|
+
"EUR",
|
|
88
|
+
"GBP",
|
|
89
|
+
"CHF",
|
|
90
|
+
"JPY",
|
|
91
|
+
"CAD",
|
|
92
|
+
"AUD"
|
|
93
|
+
]
|
|
94
|
+
},
|
|
95
|
+
"category": {
|
|
96
|
+
"type": "string",
|
|
97
|
+
"required": true,
|
|
98
|
+
"displayName": "Purchase category",
|
|
99
|
+
"description": "Authorized purchase category",
|
|
100
|
+
"constraint": {
|
|
101
|
+
"type": "string",
|
|
102
|
+
"enforceable": [
|
|
103
|
+
"enum"
|
|
104
|
+
]
|
|
105
|
+
},
|
|
106
|
+
"enum": [
|
|
107
|
+
"subscription",
|
|
108
|
+
"supply",
|
|
109
|
+
"service",
|
|
110
|
+
"advertising"
|
|
111
|
+
]
|
|
112
|
+
},
|
|
113
|
+
"allowed_vendors": {
|
|
114
|
+
"type": "string",
|
|
115
|
+
"required": false,
|
|
116
|
+
"displayName": "Allowed vendors",
|
|
117
|
+
"description": "Comma-separated list of approved vendor names",
|
|
118
|
+
"constraint": {
|
|
119
|
+
"type": "string",
|
|
120
|
+
"enforceable": [
|
|
121
|
+
"subset"
|
|
122
|
+
]
|
|
123
|
+
}
|
|
124
|
+
}
|
|
125
|
+
}
|
|
126
|
+
},
|
|
127
|
+
"executionContextSchema": {
|
|
128
|
+
"fields": {
|
|
129
|
+
"spend": {
|
|
130
|
+
"source": "declared",
|
|
131
|
+
"description": "Purchase amount in currency units",
|
|
132
|
+
"required": true,
|
|
133
|
+
"constraint": {
|
|
134
|
+
"type": "number",
|
|
135
|
+
"enforceable": [
|
|
136
|
+
"max"
|
|
137
|
+
]
|
|
138
|
+
}
|
|
139
|
+
},
|
|
140
|
+
"currency": {
|
|
141
|
+
"source": "declared",
|
|
142
|
+
"description": "Currency code",
|
|
143
|
+
"required": true,
|
|
144
|
+
"constraint": {
|
|
145
|
+
"type": "string",
|
|
146
|
+
"enforceable": [
|
|
147
|
+
"enum"
|
|
148
|
+
]
|
|
149
|
+
}
|
|
150
|
+
},
|
|
151
|
+
"category": {
|
|
152
|
+
"source": "declared",
|
|
153
|
+
"description": "Purchase category",
|
|
154
|
+
"required": true,
|
|
155
|
+
"constraint": {
|
|
156
|
+
"type": "string",
|
|
157
|
+
"enforceable": [
|
|
158
|
+
"enum"
|
|
159
|
+
]
|
|
160
|
+
}
|
|
161
|
+
},
|
|
162
|
+
"allowed_vendors": {
|
|
163
|
+
"source": "declared",
|
|
164
|
+
"description": "Vendor name for this purchase (checked against approved list)",
|
|
165
|
+
"required": false,
|
|
166
|
+
"constraint": {
|
|
167
|
+
"type": "string",
|
|
168
|
+
"enforceable": [
|
|
169
|
+
"subset"
|
|
170
|
+
]
|
|
171
|
+
}
|
|
172
|
+
},
|
|
173
|
+
"spend_daily": {
|
|
174
|
+
"source": "cumulative",
|
|
175
|
+
"cumulativeField": "spend",
|
|
176
|
+
"window": "daily",
|
|
177
|
+
"description": "Running daily spend total (resolved from execution log)",
|
|
178
|
+
"required": true,
|
|
179
|
+
"constraint": {
|
|
180
|
+
"type": "number",
|
|
181
|
+
"enforceable": [
|
|
182
|
+
"max"
|
|
183
|
+
]
|
|
184
|
+
}
|
|
185
|
+
},
|
|
186
|
+
"spend_monthly": {
|
|
187
|
+
"source": "cumulative",
|
|
188
|
+
"cumulativeField": "spend",
|
|
189
|
+
"window": "monthly",
|
|
190
|
+
"description": "Running monthly spend total (resolved from execution log)",
|
|
191
|
+
"required": true,
|
|
192
|
+
"constraint": {
|
|
193
|
+
"type": "number",
|
|
194
|
+
"enforceable": [
|
|
195
|
+
"max"
|
|
196
|
+
]
|
|
197
|
+
}
|
|
198
|
+
},
|
|
199
|
+
"transaction_count_daily": {
|
|
200
|
+
"source": "cumulative",
|
|
201
|
+
"cumulativeField": "_count",
|
|
202
|
+
"window": "daily",
|
|
203
|
+
"description": "Running daily transaction count (resolved from execution log)",
|
|
204
|
+
"required": true,
|
|
205
|
+
"constraint": {
|
|
206
|
+
"type": "number",
|
|
207
|
+
"enforceable": [
|
|
208
|
+
"max"
|
|
209
|
+
]
|
|
210
|
+
}
|
|
211
|
+
}
|
|
212
|
+
}
|
|
213
|
+
},
|
|
214
|
+
"requiredGates": [
|
|
215
|
+
"bounds",
|
|
216
|
+
"intent",
|
|
217
|
+
"commitment",
|
|
218
|
+
"decision_owner"
|
|
219
|
+
],
|
|
220
|
+
"ttl": {
|
|
221
|
+
"default": 86400,
|
|
222
|
+
"max": 2592000
|
|
223
|
+
},
|
|
224
|
+
"retention_minimum": 7776000
|
|
225
|
+
}
|
|
@@ -0,0 +1,105 @@
|
|
|
1
|
+
{
|
|
2
|
+
"id": "github.com/humanagencyprotocol/hap-profiles/records@0.4",
|
|
3
|
+
"name": "Records",
|
|
4
|
+
"version": "0.4",
|
|
5
|
+
"description": "Records authority \u2014 governs accessing and managing personal structured data",
|
|
6
|
+
"boundsSchema": {
|
|
7
|
+
"keyOrder": [
|
|
8
|
+
"profile",
|
|
9
|
+
"read_access",
|
|
10
|
+
"write_daily_max",
|
|
11
|
+
"delete_access",
|
|
12
|
+
"archive_access"
|
|
13
|
+
],
|
|
14
|
+
"fields": {
|
|
15
|
+
"profile": {
|
|
16
|
+
"type": "string",
|
|
17
|
+
"required": true
|
|
18
|
+
},
|
|
19
|
+
"read_access": {
|
|
20
|
+
"type": "string",
|
|
21
|
+
"required": true,
|
|
22
|
+
"displayName": "Read access",
|
|
23
|
+
"description": "Allow the agent to list, view, and search your records",
|
|
24
|
+
"boundType": {
|
|
25
|
+
"kind": "enum",
|
|
26
|
+
"values": [
|
|
27
|
+
"unlimited",
|
|
28
|
+
"none"
|
|
29
|
+
]
|
|
30
|
+
},
|
|
31
|
+
"toolsDescription": "list_records, get_record, search_records",
|
|
32
|
+
"default": "unlimited"
|
|
33
|
+
},
|
|
34
|
+
"write_daily_max": {
|
|
35
|
+
"type": "number",
|
|
36
|
+
"required": true,
|
|
37
|
+
"displayName": "Daily create limit",
|
|
38
|
+
"description": "Maximum new records the agent can create per day",
|
|
39
|
+
"unit": "count",
|
|
40
|
+
"boundType": {
|
|
41
|
+
"kind": "cumulative_count",
|
|
42
|
+
"window": "daily"
|
|
43
|
+
}
|
|
44
|
+
},
|
|
45
|
+
"delete_access": {
|
|
46
|
+
"type": "string",
|
|
47
|
+
"required": true,
|
|
48
|
+
"displayName": "Delete access",
|
|
49
|
+
"description": "Allow the agent to permanently delete records",
|
|
50
|
+
"boundType": {
|
|
51
|
+
"kind": "enum",
|
|
52
|
+
"values": [
|
|
53
|
+
"allowed",
|
|
54
|
+
"none"
|
|
55
|
+
]
|
|
56
|
+
},
|
|
57
|
+
"toolsDescription": "delete_record",
|
|
58
|
+
"default": "none"
|
|
59
|
+
},
|
|
60
|
+
"archive_access": {
|
|
61
|
+
"type": "string",
|
|
62
|
+
"required": true,
|
|
63
|
+
"displayName": "Archive access",
|
|
64
|
+
"description": "Allow the agent to archive records (non-destructive, records remain accessible)",
|
|
65
|
+
"boundType": {
|
|
66
|
+
"kind": "enum",
|
|
67
|
+
"values": [
|
|
68
|
+
"allowed",
|
|
69
|
+
"none"
|
|
70
|
+
]
|
|
71
|
+
},
|
|
72
|
+
"toolsDescription": "archive_record",
|
|
73
|
+
"default": "none"
|
|
74
|
+
}
|
|
75
|
+
}
|
|
76
|
+
},
|
|
77
|
+
"executionContextSchema": {
|
|
78
|
+
"fields": {
|
|
79
|
+
"write_count_daily": {
|
|
80
|
+
"source": "cumulative",
|
|
81
|
+
"cumulativeField": "_count",
|
|
82
|
+
"window": "daily",
|
|
83
|
+
"description": "Running daily create operation count",
|
|
84
|
+
"required": true,
|
|
85
|
+
"constraint": {
|
|
86
|
+
"type": "number",
|
|
87
|
+
"enforceable": [
|
|
88
|
+
"max"
|
|
89
|
+
]
|
|
90
|
+
}
|
|
91
|
+
}
|
|
92
|
+
}
|
|
93
|
+
},
|
|
94
|
+
"requiredGates": [
|
|
95
|
+
"bounds",
|
|
96
|
+
"intent",
|
|
97
|
+
"commitment",
|
|
98
|
+
"decision_owner"
|
|
99
|
+
],
|
|
100
|
+
"ttl": {
|
|
101
|
+
"default": 86400,
|
|
102
|
+
"max": 31536000
|
|
103
|
+
},
|
|
104
|
+
"retention_minimum": 7776000
|
|
105
|
+
}
|