@agent-native/core 0.49.23 → 0.49.25

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.
@@ -104,7 +104,9 @@ Do not build an umbrella REST API to make actions "easier" to call. Actions are
104
104
 
105
105
  For provider integrations used in ad hoc analysis, querying, reporting, or
106
106
  cross-source research, do not hardcode every provider endpoint as a separate
107
- rigid action. Expose the shared provider API action trio instead:
107
+ rigid action and do not encode one lookback window, filter shape, or pagination
108
+ strategy as the only path the agent can take. Expose the shared provider API
109
+ action trio instead:
108
110
 
109
111
  - `provider-api-catalog`: lists provider base URLs, auth style, credential keys,
110
112
  docs/spec URLs, placeholders, and examples without exposing secrets.
@@ -117,11 +119,25 @@ rigid action. Expose the shared provider API action trio instead:
117
119
 
118
120
  Use `@agent-native/core/provider-api` as the shared substrate. A template should
119
121
  only add a thin credential adapter when it has app-specific credential lookup
120
- rules. Keep `provider-api-request` `http: false` unless you have a separate UI
121
- permission model for arbitrary provider writes. Specific actions such as
122
- `hubspot-deals`, `search-emails`, or `sync-source` are convenience shortcuts,
123
- not capability limits; agents should fall back to the provider API trio when a
124
- question requires an endpoint or filter that the shortcut does not model.
122
+ rules. If the app stores a built-in provider's OAuth grant under a narrower
123
+ local provider id, use the runtime's `oauthProviderOverrides` instead of
124
+ duplicating the provider config. If credentials are stored on shareable/resource
125
+ rows rather than in the shared credential or OAuth-token stores, build a resolver
126
+ that enforces those access checks before exposing raw provider requests. Keep
127
+ `provider-api-request` `http: false` unless you have a separate UI permission
128
+ model for arbitrary provider writes. Specific actions such as `hubspot-deals`,
129
+ `search-emails`, or `sync-source` are convenience shortcuts, not capability
130
+ limits; agents should fall back to the provider API trio when a question
131
+ requires an endpoint or filter that the shortcut does not model.
132
+
133
+ This is a framework tenet. The safety boundary should be provider host
134
+ allow-listing, credential scoping, auth injection, private-network blocking,
135
+ secret redaction, and user/org access checks, not an artificially small set of
136
+ hand-authored read actions. If the upstream provider API supports a capability,
137
+ the agent should normally be able to reach it through `provider-api-request`
138
+ with the user's configured credentials. For large responses, expose staging
139
+ (`stageAs`, `itemsPath`, pagination, and `query-staged-dataset`) or sandboxed
140
+ code execution so the agent can reduce data without flooding context.
125
141
 
126
142
  ### The `http` Option
127
143
 
@@ -59,7 +59,13 @@ For provider-backed analysis/query/reporting integrations, do not turn every
59
59
  provider endpoint or filter into a rigid action. Prefer the shared
60
60
  `provider-api-catalog` / `provider-api-docs` / `provider-api-request` pattern
61
61
  from `@agent-native/core/provider-api`, then add narrow convenience actions only
62
- for workflows that truly deserve a first-class shortcut.
62
+ for workflows that truly deserve a first-class shortcut. Treat this as a
63
+ capability requirement, not a nice-to-have: convenience actions must not become
64
+ the ceiling of what the agent can ask the provider to do. Pair broad provider
65
+ access with staging or sandboxed code execution when responses may be too large
66
+ for chat context. If provider credentials live on resource/share rows, add the
67
+ scoped resolver first so broad access preserves the same ownership boundary as
68
+ the app UI.
63
69
 
64
70
  If the feature needs credentials, design the credential path in the same change.
65
71
  Never hardcode API keys, tokens, webhook URLs, signing secrets, private
@@ -104,7 +104,9 @@ Do not build an umbrella REST API to make actions "easier" to call. Actions are
104
104
 
105
105
  For provider integrations used in ad hoc analysis, querying, reporting, or
106
106
  cross-source research, do not hardcode every provider endpoint as a separate
107
- rigid action. Expose the shared provider API action trio instead:
107
+ rigid action and do not encode one lookback window, filter shape, or pagination
108
+ strategy as the only path the agent can take. Expose the shared provider API
109
+ action trio instead:
108
110
 
109
111
  - `provider-api-catalog`: lists provider base URLs, auth style, credential keys,
110
112
  docs/spec URLs, placeholders, and examples without exposing secrets.
@@ -117,11 +119,25 @@ rigid action. Expose the shared provider API action trio instead:
117
119
 
118
120
  Use `@agent-native/core/provider-api` as the shared substrate. A template should
119
121
  only add a thin credential adapter when it has app-specific credential lookup
120
- rules. Keep `provider-api-request` `http: false` unless you have a separate UI
121
- permission model for arbitrary provider writes. Specific actions such as
122
- `hubspot-deals`, `search-emails`, or `sync-source` are convenience shortcuts,
123
- not capability limits; agents should fall back to the provider API trio when a
124
- question requires an endpoint or filter that the shortcut does not model.
122
+ rules. If the app stores a built-in provider's OAuth grant under a narrower
123
+ local provider id, use the runtime's `oauthProviderOverrides` instead of
124
+ duplicating the provider config. If credentials are stored on shareable/resource
125
+ rows rather than in the shared credential or OAuth-token stores, build a resolver
126
+ that enforces those access checks before exposing raw provider requests. Keep
127
+ `provider-api-request` `http: false` unless you have a separate UI permission
128
+ model for arbitrary provider writes. Specific actions such as `hubspot-deals`,
129
+ `search-emails`, or `sync-source` are convenience shortcuts, not capability
130
+ limits; agents should fall back to the provider API trio when a question
131
+ requires an endpoint or filter that the shortcut does not model.
132
+
133
+ This is a framework tenet. The safety boundary should be provider host
134
+ allow-listing, credential scoping, auth injection, private-network blocking,
135
+ secret redaction, and user/org access checks, not an artificially small set of
136
+ hand-authored read actions. If the upstream provider API supports a capability,
137
+ the agent should normally be able to reach it through `provider-api-request`
138
+ with the user's configured credentials. For large responses, expose staging
139
+ (`stageAs`, `itemsPath`, pagination, and `query-staged-dataset`) or sandboxed
140
+ code execution so the agent can reduce data without flooding context.
125
141
 
126
142
  ### The `http` Option
127
143
 
@@ -59,7 +59,13 @@ For provider-backed analysis/query/reporting integrations, do not turn every
59
59
  provider endpoint or filter into a rigid action. Prefer the shared
60
60
  `provider-api-catalog` / `provider-api-docs` / `provider-api-request` pattern
61
61
  from `@agent-native/core/provider-api`, then add narrow convenience actions only
62
- for workflows that truly deserve a first-class shortcut.
62
+ for workflows that truly deserve a first-class shortcut. Treat this as a
63
+ capability requirement, not a nice-to-have: convenience actions must not become
64
+ the ceiling of what the agent can ask the provider to do. Pair broad provider
65
+ access with staging or sandboxed code execution when responses may be too large
66
+ for chat context. If provider credentials live on resource/share rows, add the
67
+ scoped resolver first so broad access preserves the same ownership boundary as
68
+ the app UI.
63
69
 
64
70
  If the feature needs credentials, design the credential path in the same change.
65
71
  Never hardcode API keys, tokens, webhook URLs, signing secrets, private
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@agent-native/core",
3
- "version": "0.49.23",
3
+ "version": "0.49.25",
4
4
  "type": "module",
5
5
  "engines": {
6
6
  "node": ">=22"
@@ -104,7 +104,9 @@ Do not build an umbrella REST API to make actions "easier" to call. Actions are
104
104
 
105
105
  For provider integrations used in ad hoc analysis, querying, reporting, or
106
106
  cross-source research, do not hardcode every provider endpoint as a separate
107
- rigid action. Expose the shared provider API action trio instead:
107
+ rigid action and do not encode one lookback window, filter shape, or pagination
108
+ strategy as the only path the agent can take. Expose the shared provider API
109
+ action trio instead:
108
110
 
109
111
  - `provider-api-catalog`: lists provider base URLs, auth style, credential keys,
110
112
  docs/spec URLs, placeholders, and examples without exposing secrets.
@@ -117,11 +119,25 @@ rigid action. Expose the shared provider API action trio instead:
117
119
 
118
120
  Use `@agent-native/core/provider-api` as the shared substrate. A template should
119
121
  only add a thin credential adapter when it has app-specific credential lookup
120
- rules. Keep `provider-api-request` `http: false` unless you have a separate UI
121
- permission model for arbitrary provider writes. Specific actions such as
122
- `hubspot-deals`, `search-emails`, or `sync-source` are convenience shortcuts,
123
- not capability limits; agents should fall back to the provider API trio when a
124
- question requires an endpoint or filter that the shortcut does not model.
122
+ rules. If the app stores a built-in provider's OAuth grant under a narrower
123
+ local provider id, use the runtime's `oauthProviderOverrides` instead of
124
+ duplicating the provider config. If credentials are stored on shareable/resource
125
+ rows rather than in the shared credential or OAuth-token stores, build a resolver
126
+ that enforces those access checks before exposing raw provider requests. Keep
127
+ `provider-api-request` `http: false` unless you have a separate UI permission
128
+ model for arbitrary provider writes. Specific actions such as `hubspot-deals`,
129
+ `search-emails`, or `sync-source` are convenience shortcuts, not capability
130
+ limits; agents should fall back to the provider API trio when a question
131
+ requires an endpoint or filter that the shortcut does not model.
132
+
133
+ This is a framework tenet. The safety boundary should be provider host
134
+ allow-listing, credential scoping, auth injection, private-network blocking,
135
+ secret redaction, and user/org access checks, not an artificially small set of
136
+ hand-authored read actions. If the upstream provider API supports a capability,
137
+ the agent should normally be able to reach it through `provider-api-request`
138
+ with the user's configured credentials. For large responses, expose staging
139
+ (`stageAs`, `itemsPath`, pagination, and `query-staged-dataset`) or sandboxed
140
+ code execution so the agent can reduce data without flooding context.
125
141
 
126
142
  ### The `http` Option
127
143
 
@@ -59,7 +59,13 @@ For provider-backed analysis/query/reporting integrations, do not turn every
59
59
  provider endpoint or filter into a rigid action. Prefer the shared
60
60
  `provider-api-catalog` / `provider-api-docs` / `provider-api-request` pattern
61
61
  from `@agent-native/core/provider-api`, then add narrow convenience actions only
62
- for workflows that truly deserve a first-class shortcut.
62
+ for workflows that truly deserve a first-class shortcut. Treat this as a
63
+ capability requirement, not a nice-to-have: convenience actions must not become
64
+ the ceiling of what the agent can ask the provider to do. Pair broad provider
65
+ access with staging or sandboxed code execution when responses may be too large
66
+ for chat context. If provider credentials live on resource/share rows, add the
67
+ scoped resolver first so broad access preserves the same ownership boundary as
68
+ the app UI.
63
69
 
64
70
  If the feature needs credentials, design the credential path in the same change.
65
71
  Never hardcode API keys, tokens, webhook URLs, signing secrets, private
@@ -104,7 +104,9 @@ Do not build an umbrella REST API to make actions "easier" to call. Actions are
104
104
 
105
105
  For provider integrations used in ad hoc analysis, querying, reporting, or
106
106
  cross-source research, do not hardcode every provider endpoint as a separate
107
- rigid action. Expose the shared provider API action trio instead:
107
+ rigid action and do not encode one lookback window, filter shape, or pagination
108
+ strategy as the only path the agent can take. Expose the shared provider API
109
+ action trio instead:
108
110
 
109
111
  - `provider-api-catalog`: lists provider base URLs, auth style, credential keys,
110
112
  docs/spec URLs, placeholders, and examples without exposing secrets.
@@ -117,11 +119,25 @@ rigid action. Expose the shared provider API action trio instead:
117
119
 
118
120
  Use `@agent-native/core/provider-api` as the shared substrate. A template should
119
121
  only add a thin credential adapter when it has app-specific credential lookup
120
- rules. Keep `provider-api-request` `http: false` unless you have a separate UI
121
- permission model for arbitrary provider writes. Specific actions such as
122
- `hubspot-deals`, `search-emails`, or `sync-source` are convenience shortcuts,
123
- not capability limits; agents should fall back to the provider API trio when a
124
- question requires an endpoint or filter that the shortcut does not model.
122
+ rules. If the app stores a built-in provider's OAuth grant under a narrower
123
+ local provider id, use the runtime's `oauthProviderOverrides` instead of
124
+ duplicating the provider config. If credentials are stored on shareable/resource
125
+ rows rather than in the shared credential or OAuth-token stores, build a resolver
126
+ that enforces those access checks before exposing raw provider requests. Keep
127
+ `provider-api-request` `http: false` unless you have a separate UI permission
128
+ model for arbitrary provider writes. Specific actions such as `hubspot-deals`,
129
+ `search-emails`, or `sync-source` are convenience shortcuts, not capability
130
+ limits; agents should fall back to the provider API trio when a question
131
+ requires an endpoint or filter that the shortcut does not model.
132
+
133
+ This is a framework tenet. The safety boundary should be provider host
134
+ allow-listing, credential scoping, auth injection, private-network blocking,
135
+ secret redaction, and user/org access checks, not an artificially small set of
136
+ hand-authored read actions. If the upstream provider API supports a capability,
137
+ the agent should normally be able to reach it through `provider-api-request`
138
+ with the user's configured credentials. For large responses, expose staging
139
+ (`stageAs`, `itemsPath`, pagination, and `query-staged-dataset`) or sandboxed
140
+ code execution so the agent can reduce data without flooding context.
125
141
 
126
142
  ### The `http` Option
127
143
 
@@ -59,7 +59,13 @@ For provider-backed analysis/query/reporting integrations, do not turn every
59
59
  provider endpoint or filter into a rigid action. Prefer the shared
60
60
  `provider-api-catalog` / `provider-api-docs` / `provider-api-request` pattern
61
61
  from `@agent-native/core/provider-api`, then add narrow convenience actions only
62
- for workflows that truly deserve a first-class shortcut.
62
+ for workflows that truly deserve a first-class shortcut. Treat this as a
63
+ capability requirement, not a nice-to-have: convenience actions must not become
64
+ the ceiling of what the agent can ask the provider to do. Pair broad provider
65
+ access with staging or sandboxed code execution when responses may be too large
66
+ for chat context. If provider credentials live on resource/share rows, add the
67
+ scoped resolver first so broad access preserves the same ownership boundary as
68
+ the app UI.
63
69
 
64
70
  If the feature needs credentials, design the credential path in the same change.
65
71
  Never hardcode API keys, tokens, webhook URLs, signing secrets, private