@ankhorage/contracts 1.16.0 → 1.18.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 +12 -0
- package/README.md +26 -5
- package/dist/index.d.ts +2 -0
- package/dist/index.d.ts.map +1 -1
- package/dist/index.js +2 -0
- package/dist/index.js.map +1 -1
- package/dist/nutrition/capture.d.ts +54 -0
- package/dist/nutrition/capture.d.ts.map +1 -0
- package/dist/nutrition/capture.js +8 -0
- package/dist/nutrition/capture.js.map +1 -0
- package/dist/nutrition/common.d.ts +22 -0
- package/dist/nutrition/common.d.ts.map +1 -0
- package/dist/nutrition/common.js +25 -0
- package/dist/nutrition/common.js.map +1 -0
- package/dist/nutrition/index.d.ts +5 -0
- package/dist/nutrition/index.d.ts.map +1 -0
- package/dist/nutrition/index.js +5 -0
- package/dist/nutrition/index.js.map +1 -0
- package/dist/nutrition/products.d.ts +93 -0
- package/dist/nutrition/products.d.ts.map +1 -0
- package/dist/nutrition/products.js +9 -0
- package/dist/nutrition/products.js.map +1 -0
- package/dist/nutrition/review.d.ts +47 -0
- package/dist/nutrition/review.d.ts.map +1 -0
- package/dist/nutrition/review.js +8 -0
- package/dist/nutrition/review.js.map +1 -0
- package/dist/requirements.d.ts +19 -0
- package/dist/requirements.d.ts.map +1 -0
- package/dist/requirements.js +20 -0
- package/dist/requirements.js.map +1 -0
- package/dist/types.d.ts +12 -0
- package/dist/types.d.ts.map +1 -1
- package/dist/types.js +3 -0
- package/dist/types.js.map +1 -1
- package/package.json +5 -1
- package/src/index.ts +2 -0
- package/src/nutrition/capture.ts +80 -0
- package/src/nutrition/common.ts +51 -0
- package/src/nutrition/index.ts +4 -0
- package/src/nutrition/nutrition.test.ts +137 -0
- package/src/nutrition/products.ts +134 -0
- package/src/nutrition/review.ts +65 -0
- package/src/profile-contract.test.ts +33 -0
- package/src/requirements.ts +42 -0
- package/src/types.ts +15 -0
package/CHANGELOG.md
CHANGED
|
@@ -1,5 +1,17 @@
|
|
|
1
1
|
# @ankhorage/contracts
|
|
2
2
|
|
|
3
|
+
## 1.18.0
|
|
4
|
+
|
|
5
|
+
### Minor Changes
|
|
6
|
+
|
|
7
|
+
- 7db80ba: Add manifest contracts for inferred screen permissions and capabilities.
|
|
8
|
+
|
|
9
|
+
## 1.17.0
|
|
10
|
+
|
|
11
|
+
### Minor Changes
|
|
12
|
+
|
|
13
|
+
- aab2073: Add profile table metadata to auth profile specs.
|
|
14
|
+
|
|
3
15
|
## 1.16.0
|
|
4
16
|
|
|
5
17
|
### Minor Changes
|
package/README.md
CHANGED
|
@@ -2,22 +2,22 @@
|
|
|
2
2
|
|
|
3
3
|
Shared public contracts for Ankhorage packages and standalone provider packages.
|
|
4
4
|
|
|
5
|
-
##
|
|
5
|
+
## What you get
|
|
6
6
|
|
|
7
7
|
- Strongly typed app structures
|
|
8
8
|
- Serializable schemas for app manifests and UI definitions
|
|
9
9
|
- Provider-neutral runtime contracts for auth and database adapters
|
|
10
10
|
- Clear contracts between systems without depending on framework internals
|
|
11
11
|
|
|
12
|
-
##
|
|
12
|
+
## Features
|
|
13
13
|
|
|
14
14
|
- Serializable app, action, theme, infra, and auth config contracts
|
|
15
15
|
- UI and navigation definitions
|
|
16
|
-
- Auth adapter contracts using
|
|
16
|
+
- Auth adapter contracts using signIn, signUp, and signOut naming
|
|
17
17
|
- Database adapter contracts for provider-neutral CRUD-style access
|
|
18
18
|
- Dedicated subpath exports for focused imports
|
|
19
19
|
|
|
20
|
-
##
|
|
20
|
+
## Usage
|
|
21
21
|
|
|
22
22
|
```ts
|
|
23
23
|
import type { AppManifest } from '@ankhorage/contracts';
|
|
@@ -71,7 +71,28 @@ export function createSupabaseAuthAdapter(): AuthAdapter {
|
|
|
71
71
|
}
|
|
72
72
|
```
|
|
73
73
|
|
|
74
|
-
##
|
|
74
|
+
## Profile contract
|
|
75
|
+
|
|
76
|
+
Auth providers own identity records. App-facing profile data should be modeled separately, usually in an app table such as `profiles`.
|
|
77
|
+
|
|
78
|
+
```ts
|
|
79
|
+
const auth = {
|
|
80
|
+
scope: 'global',
|
|
81
|
+
provider: 'supabase',
|
|
82
|
+
authorization: { kind: 'RBAC', engine: 'native' },
|
|
83
|
+
profile: {
|
|
84
|
+
fields: ['email', 'displayName', 'avatarUrl'],
|
|
85
|
+
table: 'profiles',
|
|
86
|
+
primaryKey: 'authUserId',
|
|
87
|
+
createStrategy: 'trigger',
|
|
88
|
+
updateStrategy: 'api',
|
|
89
|
+
},
|
|
90
|
+
};
|
|
91
|
+
```
|
|
92
|
+
|
|
93
|
+
Generated infra can use this metadata to create and maintain app profile rows while leaving identity lifecycle changes to the auth provider.
|
|
94
|
+
|
|
95
|
+
## Why this exists
|
|
75
96
|
|
|
76
97
|
Contracts separates shared data and runtime contracts from implementation details.
|
|
77
98
|
Standalone packages such as Supabase, Clerk, database providers, or UI/color
|
package/dist/index.d.ts
CHANGED
package/dist/index.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC"}
|
package/dist/index.js
CHANGED
package/dist/index.js.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC","sourcesContent":["export * from './auth';\nexport * from './bindings';\nexport * from './data';\nexport * from './db';\nexport * from './state';\nexport * from './storage';\nexport * from './types';\nexport * from './ui';\n"]}
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../src/index.ts"],"names":[],"mappings":"AAAA,cAAc,QAAQ,CAAC;AACvB,cAAc,YAAY,CAAC;AAC3B,cAAc,QAAQ,CAAC;AACvB,cAAc,MAAM,CAAC;AACrB,cAAc,aAAa,CAAC;AAC5B,cAAc,gBAAgB,CAAC;AAC/B,cAAc,SAAS,CAAC;AACxB,cAAc,WAAW,CAAC;AAC1B,cAAc,SAAS,CAAC;AACxB,cAAc,MAAM,CAAC","sourcesContent":["export * from './auth';\nexport * from './bindings';\nexport * from './data';\nexport * from './db';\nexport * from './nutrition';\nexport * from './requirements';\nexport * from './state';\nexport * from './storage';\nexport * from './types';\nexport * from './ui';\n"]}
|
|
@@ -0,0 +1,54 @@
|
|
|
1
|
+
import type { NutritionBarcode, NutritionCaptureSubmissionId, NutritionIsoDateTime, NutritionJsonValue, NutritionProductId, NutritionUserId } from './common';
|
|
2
|
+
import type { NutritionFactsPer100g, NutritionImageEvidence, NutritionIngredientStatement, NutritionServing, NutritionStoreObservation } from './products';
|
|
3
|
+
export declare const NUTRITION_CAPTURE_SUBMISSION_STATUSES: readonly ["queued", "needs_more_data", "accepted", "rejected", "merged"];
|
|
4
|
+
export type NutritionCaptureSubmissionStatus = (typeof NUTRITION_CAPTURE_SUBMISSION_STATUSES)[number];
|
|
5
|
+
export interface NutritionCaptureClientContext {
|
|
6
|
+
readonly userId?: NutritionUserId;
|
|
7
|
+
readonly anonymousDeviceId?: string;
|
|
8
|
+
readonly platform?: 'android' | 'ios' | 'web' | (string & {});
|
|
9
|
+
readonly appVersion?: string;
|
|
10
|
+
readonly locale?: string;
|
|
11
|
+
readonly clientCapturedAt?: NutritionIsoDateTime;
|
|
12
|
+
}
|
|
13
|
+
export interface NutritionProductCaptureDraft {
|
|
14
|
+
readonly barcode: NutritionBarcode;
|
|
15
|
+
readonly name?: string;
|
|
16
|
+
readonly brand?: string;
|
|
17
|
+
readonly quantity?: string;
|
|
18
|
+
readonly packageSizeG?: number;
|
|
19
|
+
readonly packageSizeMl?: number;
|
|
20
|
+
readonly serving?: NutritionServing;
|
|
21
|
+
readonly nutrientsPer100g?: NutritionFactsPer100g;
|
|
22
|
+
readonly ingredients?: NutritionIngredientStatement;
|
|
23
|
+
readonly storeObservation?: NutritionStoreObservation;
|
|
24
|
+
readonly images?: readonly NutritionImageEvidence[];
|
|
25
|
+
readonly rawPayload?: NutritionJsonValue;
|
|
26
|
+
}
|
|
27
|
+
export interface NutritionProductCaptureRequest {
|
|
28
|
+
readonly draft: NutritionProductCaptureDraft;
|
|
29
|
+
readonly client?: NutritionCaptureClientContext;
|
|
30
|
+
}
|
|
31
|
+
export interface NutritionProductCaptureResponse {
|
|
32
|
+
readonly submissionId: NutritionCaptureSubmissionId;
|
|
33
|
+
readonly status: NutritionCaptureSubmissionStatus;
|
|
34
|
+
readonly productId?: NutritionProductId;
|
|
35
|
+
readonly message?: string;
|
|
36
|
+
}
|
|
37
|
+
export interface NutritionProductCorrectionRequest {
|
|
38
|
+
readonly productId: NutritionProductId;
|
|
39
|
+
readonly patch: Partial<NutritionProductCaptureDraft>;
|
|
40
|
+
readonly client?: NutritionCaptureClientContext;
|
|
41
|
+
readonly note?: string;
|
|
42
|
+
}
|
|
43
|
+
export interface NutritionCaptureSubmission {
|
|
44
|
+
readonly id: NutritionCaptureSubmissionId;
|
|
45
|
+
readonly status: NutritionCaptureSubmissionStatus;
|
|
46
|
+
readonly draft: NutritionProductCaptureDraft;
|
|
47
|
+
readonly client?: NutritionCaptureClientContext;
|
|
48
|
+
readonly matchedProductId?: NutritionProductId | null;
|
|
49
|
+
readonly reviewerNote?: string;
|
|
50
|
+
readonly createdAt: NutritionIsoDateTime;
|
|
51
|
+
readonly updatedAt: NutritionIsoDateTime;
|
|
52
|
+
readonly decidedAt?: NutritionIsoDateTime | null;
|
|
53
|
+
}
|
|
54
|
+
//# sourceMappingURL=capture.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.d.ts","sourceRoot":"","sources":["../../src/nutrition/capture.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"capture.js","sourceRoot":"","sources":["../../src/nutrition/capture.ts"],"names":[],"mappings":"AAgBA,MAAM,CAAC,MAAM,qCAAqC,GAAG;IACnD,QAAQ;IACR,iBAAiB;IACjB,UAAU;IACV,UAAU;IACV,QAAQ;CACA,CAAC","sourcesContent":["import type {\n NutritionBarcode,\n NutritionCaptureSubmissionId,\n NutritionIsoDateTime,\n NutritionJsonValue,\n NutritionProductId,\n NutritionUserId,\n} from './common';\nimport type {\n NutritionFactsPer100g,\n NutritionImageEvidence,\n NutritionIngredientStatement,\n NutritionServing,\n NutritionStoreObservation,\n} from './products';\n\nexport const NUTRITION_CAPTURE_SUBMISSION_STATUSES = [\n 'queued',\n 'needs_more_data',\n 'accepted',\n 'rejected',\n 'merged',\n] as const;\nexport type NutritionCaptureSubmissionStatus =\n (typeof NUTRITION_CAPTURE_SUBMISSION_STATUSES)[number];\n\nexport interface NutritionCaptureClientContext {\n readonly userId?: NutritionUserId;\n readonly anonymousDeviceId?: string;\n readonly platform?: 'android' | 'ios' | 'web' | (string & {});\n readonly appVersion?: string;\n readonly locale?: string;\n readonly clientCapturedAt?: NutritionIsoDateTime;\n}\n\nexport interface NutritionProductCaptureDraft {\n readonly barcode: NutritionBarcode;\n readonly name?: string;\n readonly brand?: string;\n readonly quantity?: string;\n readonly packageSizeG?: number;\n readonly packageSizeMl?: number;\n readonly serving?: NutritionServing;\n readonly nutrientsPer100g?: NutritionFactsPer100g;\n readonly ingredients?: NutritionIngredientStatement;\n readonly storeObservation?: NutritionStoreObservation;\n readonly images?: readonly NutritionImageEvidence[];\n readonly rawPayload?: NutritionJsonValue;\n}\n\nexport interface NutritionProductCaptureRequest {\n readonly draft: NutritionProductCaptureDraft;\n readonly client?: NutritionCaptureClientContext;\n}\n\nexport interface NutritionProductCaptureResponse {\n readonly submissionId: NutritionCaptureSubmissionId;\n readonly status: NutritionCaptureSubmissionStatus;\n readonly productId?: NutritionProductId;\n readonly message?: string;\n}\n\nexport interface NutritionProductCorrectionRequest {\n readonly productId: NutritionProductId;\n readonly patch: Partial<NutritionProductCaptureDraft>;\n readonly client?: NutritionCaptureClientContext;\n readonly note?: string;\n}\n\nexport interface NutritionCaptureSubmission {\n readonly id: NutritionCaptureSubmissionId;\n readonly status: NutritionCaptureSubmissionStatus;\n readonly draft: NutritionProductCaptureDraft;\n readonly client?: NutritionCaptureClientContext;\n readonly matchedProductId?: NutritionProductId | null;\n readonly reviewerNote?: string;\n readonly createdAt: NutritionIsoDateTime;\n readonly updatedAt: NutritionIsoDateTime;\n readonly decidedAt?: NutritionIsoDateTime | null;\n}\n"]}
|
|
@@ -0,0 +1,22 @@
|
|
|
1
|
+
export type NutritionIsoDateTime = string;
|
|
2
|
+
export type NutritionProductId = string;
|
|
3
|
+
export type NutritionCaptureSubmissionId = string;
|
|
4
|
+
export type NutritionReviewId = string;
|
|
5
|
+
export type NutritionUserId = string;
|
|
6
|
+
export type NutritionJsonValue = boolean | number | string | null | readonly NutritionJsonValue[] | {
|
|
7
|
+
readonly [key: string]: NutritionJsonValue;
|
|
8
|
+
};
|
|
9
|
+
export declare const NUTRITION_BARCODE_TYPES: readonly ["ean_8", "ean_13", "upc_a", "upc_e", "gtin_14", "unknown"];
|
|
10
|
+
export type NutritionBarcodeType = (typeof NUTRITION_BARCODE_TYPES)[number];
|
|
11
|
+
export interface NutritionBarcode {
|
|
12
|
+
readonly value: string;
|
|
13
|
+
readonly type: NutritionBarcodeType;
|
|
14
|
+
readonly normalizedValue?: string;
|
|
15
|
+
}
|
|
16
|
+
export declare const NUTRITION_PRODUCT_STATUSES: readonly ["draft", "pending_review", "published", "rejected", "archived"];
|
|
17
|
+
export type NutritionProductStatus = (typeof NUTRITION_PRODUCT_STATUSES)[number];
|
|
18
|
+
export declare const NUTRITION_DATA_SOURCES: readonly ["manual_scan", "user_correction", "open_food_facts", "foodrepo_legacy", "retailer_import", "admin_import"];
|
|
19
|
+
export type NutritionDataSource = (typeof NUTRITION_DATA_SOURCES)[number];
|
|
20
|
+
export declare const NUTRITION_SOURCE_CONFIDENCE_LEVELS: readonly ["unknown", "low", "medium", "high"];
|
|
21
|
+
export type NutritionSourceConfidence = (typeof NUTRITION_SOURCE_CONFIDENCE_LEVELS)[number];
|
|
22
|
+
//# sourceMappingURL=common.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.d.ts","sourceRoot":"","sources":["../../src/nutrition/common.ts"],"names":[],"mappings":"AAAA,MAAM,MAAM,oBAAoB,GAAG,MAAM,CAAC;AAC1C,MAAM,MAAM,kBAAkB,GAAG,MAAM,CAAC;AACxC,MAAM,MAAM,4BAA4B,GAAG,MAAM,CAAC;AAClD,MAAM,MAAM,iBAAiB,GAAG,MAAM,CAAC;AACvC,MAAM,MAAM,eAAe,GAAG,MAAM,CAAC;AAErC,MAAM,MAAM,kBAAkB,GAC1B,OAAO,GACP,MAAM,GACN,MAAM,GACN,IAAI,GACJ,SAAS,kBAAkB,EAAE,GAC7B;IAAE,QAAQ,EAAE,GAAG,EAAE,MAAM,GAAG,kBAAkB,CAAA;CAAE,CAAC;AAEnD,eAAO,MAAM,uBAAuB,sEAO1B,CAAC;AACX,MAAM,MAAM,oBAAoB,GAAG,CAAC,OAAO,uBAAuB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE5E,MAAM,WAAW,gBAAgB;IAC/B,QAAQ,CAAC,KAAK,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,IAAI,EAAE,oBAAoB,CAAC;IACpC,QAAQ,CAAC,eAAe,CAAC,EAAE,MAAM,CAAC;CACnC;AAED,eAAO,MAAM,0BAA0B,2EAM7B,CAAC;AACX,MAAM,MAAM,sBAAsB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAEjF,eAAO,MAAM,sBAAsB,sHAOzB,CAAC;AACX,MAAM,MAAM,mBAAmB,GAAG,CAAC,OAAO,sBAAsB,CAAC,CAAC,MAAM,CAAC,CAAC;AAE1E,eAAO,MAAM,kCAAkC,+CAAgD,CAAC;AAChG,MAAM,MAAM,yBAAyB,GAAG,CAAC,OAAO,kCAAkC,CAAC,CAAC,MAAM,CAAC,CAAC"}
|
|
@@ -0,0 +1,25 @@
|
|
|
1
|
+
export const NUTRITION_BARCODE_TYPES = [
|
|
2
|
+
'ean_8',
|
|
3
|
+
'ean_13',
|
|
4
|
+
'upc_a',
|
|
5
|
+
'upc_e',
|
|
6
|
+
'gtin_14',
|
|
7
|
+
'unknown',
|
|
8
|
+
];
|
|
9
|
+
export const NUTRITION_PRODUCT_STATUSES = [
|
|
10
|
+
'draft',
|
|
11
|
+
'pending_review',
|
|
12
|
+
'published',
|
|
13
|
+
'rejected',
|
|
14
|
+
'archived',
|
|
15
|
+
];
|
|
16
|
+
export const NUTRITION_DATA_SOURCES = [
|
|
17
|
+
'manual_scan',
|
|
18
|
+
'user_correction',
|
|
19
|
+
'open_food_facts',
|
|
20
|
+
'foodrepo_legacy',
|
|
21
|
+
'retailer_import',
|
|
22
|
+
'admin_import',
|
|
23
|
+
];
|
|
24
|
+
export const NUTRITION_SOURCE_CONFIDENCE_LEVELS = ['unknown', 'low', 'medium', 'high'];
|
|
25
|
+
//# sourceMappingURL=common.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"common.js","sourceRoot":"","sources":["../../src/nutrition/common.ts"],"names":[],"mappings":"AAcA,MAAM,CAAC,MAAM,uBAAuB,GAAG;IACrC,OAAO;IACP,QAAQ;IACR,OAAO;IACP,OAAO;IACP,SAAS;IACT,SAAS;CACD,CAAC;AASX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,OAAO;IACP,gBAAgB;IAChB,WAAW;IACX,UAAU;IACV,UAAU;CACF,CAAC;AAGX,MAAM,CAAC,MAAM,sBAAsB,GAAG;IACpC,aAAa;IACb,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,iBAAiB;IACjB,cAAc;CACN,CAAC;AAGX,MAAM,CAAC,MAAM,kCAAkC,GAAG,CAAC,SAAS,EAAE,KAAK,EAAE,QAAQ,EAAE,MAAM,CAAU,CAAC","sourcesContent":["export type NutritionIsoDateTime = string;\nexport type NutritionProductId = string;\nexport type NutritionCaptureSubmissionId = string;\nexport type NutritionReviewId = string;\nexport type NutritionUserId = string;\n\nexport type NutritionJsonValue =\n | boolean\n | number\n | string\n | null\n | readonly NutritionJsonValue[]\n | { readonly [key: string]: NutritionJsonValue };\n\nexport const NUTRITION_BARCODE_TYPES = [\n 'ean_8',\n 'ean_13',\n 'upc_a',\n 'upc_e',\n 'gtin_14',\n 'unknown',\n] as const;\nexport type NutritionBarcodeType = (typeof NUTRITION_BARCODE_TYPES)[number];\n\nexport interface NutritionBarcode {\n readonly value: string;\n readonly type: NutritionBarcodeType;\n readonly normalizedValue?: string;\n}\n\nexport const NUTRITION_PRODUCT_STATUSES = [\n 'draft',\n 'pending_review',\n 'published',\n 'rejected',\n 'archived',\n] as const;\nexport type NutritionProductStatus = (typeof NUTRITION_PRODUCT_STATUSES)[number];\n\nexport const NUTRITION_DATA_SOURCES = [\n 'manual_scan',\n 'user_correction',\n 'open_food_facts',\n 'foodrepo_legacy',\n 'retailer_import',\n 'admin_import',\n] as const;\nexport type NutritionDataSource = (typeof NUTRITION_DATA_SOURCES)[number];\n\nexport const NUTRITION_SOURCE_CONFIDENCE_LEVELS = ['unknown', 'low', 'medium', 'high'] as const;\nexport type NutritionSourceConfidence = (typeof NUTRITION_SOURCE_CONFIDENCE_LEVELS)[number];\n"]}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.d.ts","sourceRoot":"","sources":["../../src/nutrition/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sourceRoot":"","sources":["../../src/nutrition/index.ts"],"names":[],"mappings":"AAAA,cAAc,WAAW,CAAC;AAC1B,cAAc,UAAU,CAAC;AACzB,cAAc,YAAY,CAAC;AAC3B,cAAc,UAAU,CAAC","sourcesContent":["export * from './capture';\nexport * from './common';\nexport * from './products';\nexport * from './review';\n"]}
|
|
@@ -0,0 +1,93 @@
|
|
|
1
|
+
import type { NutritionBarcode, NutritionDataSource, NutritionIsoDateTime, NutritionJsonValue, NutritionProductId, NutritionProductStatus, NutritionSourceConfidence } from './common';
|
|
2
|
+
export type NutritionMeasurementBasis = 'per_100g' | 'per_100ml';
|
|
3
|
+
export interface NutritionFactsPer100g {
|
|
4
|
+
readonly basis?: NutritionMeasurementBasis;
|
|
5
|
+
readonly energyKcal?: number;
|
|
6
|
+
readonly energyKj?: number;
|
|
7
|
+
readonly proteinG?: number;
|
|
8
|
+
readonly carbohydratesG?: number;
|
|
9
|
+
readonly sugarsG?: number;
|
|
10
|
+
readonly fatG?: number;
|
|
11
|
+
readonly saturatedFatG?: number;
|
|
12
|
+
readonly fiberG?: number;
|
|
13
|
+
readonly saltG?: number;
|
|
14
|
+
readonly sodiumG?: number;
|
|
15
|
+
}
|
|
16
|
+
export interface NutritionServing {
|
|
17
|
+
readonly label?: string;
|
|
18
|
+
readonly sizeG?: number;
|
|
19
|
+
readonly sizeMl?: number;
|
|
20
|
+
readonly servingsPerPackage?: number;
|
|
21
|
+
}
|
|
22
|
+
export interface NutritionIngredientStatement {
|
|
23
|
+
readonly text?: string;
|
|
24
|
+
readonly locale?: string;
|
|
25
|
+
readonly rawText?: string;
|
|
26
|
+
}
|
|
27
|
+
export type NutritionAllergenTag = 'celery' | 'cereals_containing_gluten' | 'crustaceans' | 'eggs' | 'fish' | 'lupin' | 'milk' | 'molluscs' | 'mustard' | 'nuts' | 'peanuts' | 'sesame' | 'soybeans' | 'sulphur_dioxide_and_sulphites' | (string & {});
|
|
28
|
+
export interface NutritionStoreObservation {
|
|
29
|
+
readonly countryCode?: string;
|
|
30
|
+
readonly storeChain?: string;
|
|
31
|
+
readonly storeName?: string;
|
|
32
|
+
readonly storeLocationLabel?: string;
|
|
33
|
+
readonly observedAt?: NutritionIsoDateTime;
|
|
34
|
+
}
|
|
35
|
+
export declare const NUTRITION_IMAGE_KINDS: readonly ["front", "nutrition_label", "ingredients", "barcode", "package_back", "other"];
|
|
36
|
+
export type NutritionImageKind = (typeof NUTRITION_IMAGE_KINDS)[number];
|
|
37
|
+
export interface NutritionImageEvidence {
|
|
38
|
+
readonly id?: string;
|
|
39
|
+
readonly kind: NutritionImageKind;
|
|
40
|
+
readonly storageId?: string;
|
|
41
|
+
readonly bucket?: string;
|
|
42
|
+
readonly path?: string;
|
|
43
|
+
readonly publicUrl?: string;
|
|
44
|
+
readonly contentType?: string;
|
|
45
|
+
readonly width?: number;
|
|
46
|
+
readonly height?: number;
|
|
47
|
+
readonly capturedAt?: NutritionIsoDateTime;
|
|
48
|
+
readonly metadata?: Record<string, NutritionJsonValue>;
|
|
49
|
+
}
|
|
50
|
+
export interface NutritionProductSummary {
|
|
51
|
+
readonly id: NutritionProductId;
|
|
52
|
+
readonly primaryBarcode: NutritionBarcode;
|
|
53
|
+
readonly name: string;
|
|
54
|
+
readonly brand?: string;
|
|
55
|
+
readonly quantity?: string;
|
|
56
|
+
readonly status: NutritionProductStatus;
|
|
57
|
+
readonly source: NutritionDataSource;
|
|
58
|
+
readonly sourceConfidence: NutritionSourceConfidence;
|
|
59
|
+
readonly imageUrl?: string;
|
|
60
|
+
readonly updatedAt: NutritionIsoDateTime;
|
|
61
|
+
}
|
|
62
|
+
export interface NutritionProduct {
|
|
63
|
+
readonly id: NutritionProductId;
|
|
64
|
+
readonly primaryBarcode: NutritionBarcode;
|
|
65
|
+
readonly barcodes?: readonly NutritionBarcode[];
|
|
66
|
+
readonly name: string;
|
|
67
|
+
readonly brand?: string;
|
|
68
|
+
readonly quantity?: string;
|
|
69
|
+
readonly packageSizeG?: number;
|
|
70
|
+
readonly packageSizeMl?: number;
|
|
71
|
+
readonly serving?: NutritionServing;
|
|
72
|
+
readonly nutrientsPer100g?: NutritionFactsPer100g;
|
|
73
|
+
readonly ingredients?: NutritionIngredientStatement;
|
|
74
|
+
readonly allergens?: readonly NutritionAllergenTag[];
|
|
75
|
+
readonly traces?: readonly NutritionAllergenTag[];
|
|
76
|
+
readonly stores?: readonly NutritionStoreObservation[];
|
|
77
|
+
readonly images?: readonly NutritionImageEvidence[];
|
|
78
|
+
readonly status: NutritionProductStatus;
|
|
79
|
+
readonly source: NutritionDataSource;
|
|
80
|
+
readonly sourceConfidence: NutritionSourceConfidence;
|
|
81
|
+
readonly sourcePayload?: NutritionJsonValue;
|
|
82
|
+
readonly verifiedByUser?: boolean;
|
|
83
|
+
readonly createdAt: NutritionIsoDateTime;
|
|
84
|
+
readonly updatedAt: NutritionIsoDateTime;
|
|
85
|
+
readonly publishedAt?: NutritionIsoDateTime | null;
|
|
86
|
+
}
|
|
87
|
+
export interface NutritionProductDetail {
|
|
88
|
+
readonly product: NutritionProduct;
|
|
89
|
+
}
|
|
90
|
+
export interface NutritionProductLookupByBarcodeResponse {
|
|
91
|
+
readonly product: NutritionProduct;
|
|
92
|
+
}
|
|
93
|
+
//# sourceMappingURL=products.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"products.d.ts","sourceRoot":"","sources":["../../src/nutrition/products.ts"],"names":[],"mappings":"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"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"products.js","sourceRoot":"","sources":["../../src/nutrition/products.ts"],"names":[],"mappings":"AAgEA,MAAM,CAAC,MAAM,qBAAqB,GAAG;IACnC,OAAO;IACP,iBAAiB;IACjB,aAAa;IACb,SAAS;IACT,cAAc;IACd,OAAO;CACC,CAAC","sourcesContent":["import type {\n NutritionBarcode,\n NutritionDataSource,\n NutritionIsoDateTime,\n NutritionJsonValue,\n NutritionProductId,\n NutritionProductStatus,\n NutritionSourceConfidence,\n} from './common';\n\nexport type NutritionMeasurementBasis = 'per_100g' | 'per_100ml';\n\nexport interface NutritionFactsPer100g {\n readonly basis?: NutritionMeasurementBasis;\n readonly energyKcal?: number;\n readonly energyKj?: number;\n readonly proteinG?: number;\n readonly carbohydratesG?: number;\n readonly sugarsG?: number;\n readonly fatG?: number;\n readonly saturatedFatG?: number;\n readonly fiberG?: number;\n readonly saltG?: number;\n readonly sodiumG?: number;\n}\n\nexport interface NutritionServing {\n readonly label?: string;\n readonly sizeG?: number;\n readonly sizeMl?: number;\n readonly servingsPerPackage?: number;\n}\n\nexport interface NutritionIngredientStatement {\n readonly text?: string;\n readonly locale?: string;\n readonly rawText?: string;\n}\n\nexport type NutritionAllergenTag =\n | 'celery'\n | 'cereals_containing_gluten'\n | 'crustaceans'\n | 'eggs'\n | 'fish'\n | 'lupin'\n | 'milk'\n | 'molluscs'\n | 'mustard'\n | 'nuts'\n | 'peanuts'\n | 'sesame'\n | 'soybeans'\n | 'sulphur_dioxide_and_sulphites'\n | (string & {});\n\nexport interface NutritionStoreObservation {\n readonly countryCode?: string;\n readonly storeChain?: string;\n readonly storeName?: string;\n readonly storeLocationLabel?: string;\n readonly observedAt?: NutritionIsoDateTime;\n}\n\nexport const NUTRITION_IMAGE_KINDS = [\n 'front',\n 'nutrition_label',\n 'ingredients',\n 'barcode',\n 'package_back',\n 'other',\n] as const;\nexport type NutritionImageKind = (typeof NUTRITION_IMAGE_KINDS)[number];\n\nexport interface NutritionImageEvidence {\n readonly id?: string;\n readonly kind: NutritionImageKind;\n readonly storageId?: string;\n readonly bucket?: string;\n readonly path?: string;\n readonly publicUrl?: string;\n readonly contentType?: string;\n readonly width?: number;\n readonly height?: number;\n readonly capturedAt?: NutritionIsoDateTime;\n readonly metadata?: Record<string, NutritionJsonValue>;\n}\n\nexport interface NutritionProductSummary {\n readonly id: NutritionProductId;\n readonly primaryBarcode: NutritionBarcode;\n readonly name: string;\n readonly brand?: string;\n readonly quantity?: string;\n readonly status: NutritionProductStatus;\n readonly source: NutritionDataSource;\n readonly sourceConfidence: NutritionSourceConfidence;\n readonly imageUrl?: string;\n readonly updatedAt: NutritionIsoDateTime;\n}\n\nexport interface NutritionProduct {\n readonly id: NutritionProductId;\n readonly primaryBarcode: NutritionBarcode;\n readonly barcodes?: readonly NutritionBarcode[];\n readonly name: string;\n readonly brand?: string;\n readonly quantity?: string;\n readonly packageSizeG?: number;\n readonly packageSizeMl?: number;\n readonly serving?: NutritionServing;\n readonly nutrientsPer100g?: NutritionFactsPer100g;\n readonly ingredients?: NutritionIngredientStatement;\n readonly allergens?: readonly NutritionAllergenTag[];\n readonly traces?: readonly NutritionAllergenTag[];\n readonly stores?: readonly NutritionStoreObservation[];\n readonly images?: readonly NutritionImageEvidence[];\n readonly status: NutritionProductStatus;\n readonly source: NutritionDataSource;\n readonly sourceConfidence: NutritionSourceConfidence;\n readonly sourcePayload?: NutritionJsonValue;\n readonly verifiedByUser?: boolean;\n readonly createdAt: NutritionIsoDateTime;\n readonly updatedAt: NutritionIsoDateTime;\n readonly publishedAt?: NutritionIsoDateTime | null;\n}\n\nexport interface NutritionProductDetail {\n readonly product: NutritionProduct;\n}\n\nexport interface NutritionProductLookupByBarcodeResponse {\n readonly product: NutritionProduct;\n}\n"]}
|
|
@@ -0,0 +1,47 @@
|
|
|
1
|
+
import type { NutritionCaptureSubmission, NutritionCaptureSubmissionStatus } from './capture';
|
|
2
|
+
import type { NutritionCaptureSubmissionId, NutritionIsoDateTime, NutritionJsonValue, NutritionProductId, NutritionReviewId, NutritionUserId } from './common';
|
|
3
|
+
import type { NutritionProduct } from './products';
|
|
4
|
+
export declare const NUTRITION_REVIEW_DECISIONS: readonly ["accept", "reject", "merge", "request_changes", "publish"];
|
|
5
|
+
export type NutritionReviewDecision = (typeof NUTRITION_REVIEW_DECISIONS)[number];
|
|
6
|
+
export interface NutritionReviewDecisionRequest {
|
|
7
|
+
readonly decision: NutritionReviewDecision;
|
|
8
|
+
readonly submissionId: NutritionCaptureSubmissionId;
|
|
9
|
+
readonly reviewerId?: NutritionUserId;
|
|
10
|
+
readonly targetProductId?: NutritionProductId;
|
|
11
|
+
readonly productOverride?: Partial<NutritionProduct>;
|
|
12
|
+
readonly note?: string;
|
|
13
|
+
readonly metadata?: Record<string, NutritionJsonValue>;
|
|
14
|
+
}
|
|
15
|
+
export interface NutritionReviewDecisionResponse {
|
|
16
|
+
readonly reviewId: NutritionReviewId;
|
|
17
|
+
readonly submissionId: NutritionCaptureSubmissionId;
|
|
18
|
+
readonly decision: NutritionReviewDecision;
|
|
19
|
+
readonly status: NutritionCaptureSubmissionStatus;
|
|
20
|
+
readonly productId?: NutritionProductId;
|
|
21
|
+
readonly decidedAt: NutritionIsoDateTime;
|
|
22
|
+
}
|
|
23
|
+
export interface NutritionReviewRecord {
|
|
24
|
+
readonly id: NutritionReviewId;
|
|
25
|
+
readonly submissionId: NutritionCaptureSubmissionId;
|
|
26
|
+
readonly reviewerId?: NutritionUserId;
|
|
27
|
+
readonly decision: NutritionReviewDecision;
|
|
28
|
+
readonly previousStatus: NutritionCaptureSubmissionStatus;
|
|
29
|
+
readonly nextStatus: NutritionCaptureSubmissionStatus;
|
|
30
|
+
readonly targetProductId?: NutritionProductId | null;
|
|
31
|
+
readonly note?: string;
|
|
32
|
+
readonly metadata?: Record<string, NutritionJsonValue>;
|
|
33
|
+
readonly createdAt: NutritionIsoDateTime;
|
|
34
|
+
}
|
|
35
|
+
export interface NutritionReviewSubmissionListRequest {
|
|
36
|
+
readonly status?: NutritionCaptureSubmissionStatus;
|
|
37
|
+
readonly barcode?: string;
|
|
38
|
+
readonly store?: string;
|
|
39
|
+
readonly limit?: number;
|
|
40
|
+
readonly offset?: number;
|
|
41
|
+
}
|
|
42
|
+
export interface NutritionReviewSubmissionListResponse {
|
|
43
|
+
readonly submissions: readonly NutritionCaptureSubmission[];
|
|
44
|
+
readonly limit?: number;
|
|
45
|
+
readonly offset?: number;
|
|
46
|
+
}
|
|
47
|
+
//# sourceMappingURL=review.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.d.ts","sourceRoot":"","sources":["../../src/nutrition/review.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,0BAA0B,EAAE,gCAAgC,EAAE,MAAM,WAAW,CAAC;AAC9F,OAAO,KAAK,EACV,4BAA4B,EAC5B,oBAAoB,EACpB,kBAAkB,EAClB,kBAAkB,EAClB,iBAAiB,EACjB,eAAe,EAChB,MAAM,UAAU,CAAC;AAClB,OAAO,KAAK,EAAE,gBAAgB,EAAE,MAAM,YAAY,CAAC;AAEnD,eAAO,MAAM,0BAA0B,sEAM7B,CAAC;AACX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,8BAA8B;IAC7C,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,CAAC;IAC9C,QAAQ,CAAC,eAAe,CAAC,EAAE,OAAO,CAAC,gBAAgB,CAAC,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;CACxD;AAED,MAAM,WAAW,+BAA+B;IAC9C,QAAQ,CAAC,QAAQ,EAAE,iBAAiB,CAAC;IACrC,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,MAAM,EAAE,gCAAgC,CAAC;IAClD,QAAQ,CAAC,SAAS,CAAC,EAAE,kBAAkB,CAAC;IACxC,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;CAC1C;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,EAAE,EAAE,iBAAiB,CAAC;IAC/B,QAAQ,CAAC,YAAY,EAAE,4BAA4B,CAAC;IACpD,QAAQ,CAAC,UAAU,CAAC,EAAE,eAAe,CAAC;IACtC,QAAQ,CAAC,QAAQ,EAAE,uBAAuB,CAAC;IAC3C,QAAQ,CAAC,cAAc,EAAE,gCAAgC,CAAC;IAC1D,QAAQ,CAAC,UAAU,EAAE,gCAAgC,CAAC;IACtD,QAAQ,CAAC,eAAe,CAAC,EAAE,kBAAkB,GAAG,IAAI,CAAC;IACrD,QAAQ,CAAC,IAAI,CAAC,EAAE,MAAM,CAAC;IACvB,QAAQ,CAAC,QAAQ,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,kBAAkB,CAAC,CAAC;IACvD,QAAQ,CAAC,SAAS,EAAE,oBAAoB,CAAC;CAC1C;AAED,MAAM,WAAW,oCAAoC;IACnD,QAAQ,CAAC,MAAM,CAAC,EAAE,gCAAgC,CAAC;IACnD,QAAQ,CAAC,OAAO,CAAC,EAAE,MAAM,CAAC;IAC1B,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B;AAED,MAAM,WAAW,qCAAqC;IACpD,QAAQ,CAAC,WAAW,EAAE,SAAS,0BAA0B,EAAE,CAAC;IAC5D,QAAQ,CAAC,KAAK,CAAC,EAAE,MAAM,CAAC;IACxB,QAAQ,CAAC,MAAM,CAAC,EAAE,MAAM,CAAC;CAC1B"}
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"review.js","sourceRoot":"","sources":["../../src/nutrition/review.ts"],"names":[],"mappings":"AAWA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,QAAQ;IACR,QAAQ;IACR,OAAO;IACP,iBAAiB;IACjB,SAAS;CACD,CAAC","sourcesContent":["import type { NutritionCaptureSubmission, NutritionCaptureSubmissionStatus } from './capture';\nimport type {\n NutritionCaptureSubmissionId,\n NutritionIsoDateTime,\n NutritionJsonValue,\n NutritionProductId,\n NutritionReviewId,\n NutritionUserId,\n} from './common';\nimport type { NutritionProduct } from './products';\n\nexport const NUTRITION_REVIEW_DECISIONS = [\n 'accept',\n 'reject',\n 'merge',\n 'request_changes',\n 'publish',\n] as const;\nexport type NutritionReviewDecision = (typeof NUTRITION_REVIEW_DECISIONS)[number];\n\nexport interface NutritionReviewDecisionRequest {\n readonly decision: NutritionReviewDecision;\n readonly submissionId: NutritionCaptureSubmissionId;\n readonly reviewerId?: NutritionUserId;\n readonly targetProductId?: NutritionProductId;\n readonly productOverride?: Partial<NutritionProduct>;\n readonly note?: string;\n readonly metadata?: Record<string, NutritionJsonValue>;\n}\n\nexport interface NutritionReviewDecisionResponse {\n readonly reviewId: NutritionReviewId;\n readonly submissionId: NutritionCaptureSubmissionId;\n readonly decision: NutritionReviewDecision;\n readonly status: NutritionCaptureSubmissionStatus;\n readonly productId?: NutritionProductId;\n readonly decidedAt: NutritionIsoDateTime;\n}\n\nexport interface NutritionReviewRecord {\n readonly id: NutritionReviewId;\n readonly submissionId: NutritionCaptureSubmissionId;\n readonly reviewerId?: NutritionUserId;\n readonly decision: NutritionReviewDecision;\n readonly previousStatus: NutritionCaptureSubmissionStatus;\n readonly nextStatus: NutritionCaptureSubmissionStatus;\n readonly targetProductId?: NutritionProductId | null;\n readonly note?: string;\n readonly metadata?: Record<string, NutritionJsonValue>;\n readonly createdAt: NutritionIsoDateTime;\n}\n\nexport interface NutritionReviewSubmissionListRequest {\n readonly status?: NutritionCaptureSubmissionStatus;\n readonly barcode?: string;\n readonly store?: string;\n readonly limit?: number;\n readonly offset?: number;\n}\n\nexport interface NutritionReviewSubmissionListResponse {\n readonly submissions: readonly NutritionCaptureSubmission[];\n readonly limit?: number;\n readonly offset?: number;\n}\n"]}
|
|
@@ -0,0 +1,19 @@
|
|
|
1
|
+
export declare const ANKHORAGE_PERMISSION_NAMES: readonly ["camera", "microphone", "mediaLibrary", "mediaLibraryWrite", "locationForeground", "locationBackground", "notifications", "clipboard"];
|
|
2
|
+
export type AnkhoragePermissionName = (typeof ANKHORAGE_PERMISSION_NAMES)[number];
|
|
3
|
+
export declare const ANKHORAGE_CAPABILITY_NAMES: readonly ["barcodeScanner", "cameraPreview", "mediaPicker", "filePicker", "location", "notifications", "clipboard"];
|
|
4
|
+
export type AnkhorageCapabilityName = (typeof ANKHORAGE_CAPABILITY_NAMES)[number];
|
|
5
|
+
export interface ScreenPermissionRequirement {
|
|
6
|
+
readonly permission: AnkhoragePermissionName;
|
|
7
|
+
}
|
|
8
|
+
export interface ScreenCapabilityRequirement {
|
|
9
|
+
readonly capability: AnkhorageCapabilityName;
|
|
10
|
+
}
|
|
11
|
+
export interface ScreenRequirements {
|
|
12
|
+
readonly permissions?: readonly ScreenPermissionRequirement[];
|
|
13
|
+
readonly capabilities?: readonly ScreenCapabilityRequirement[];
|
|
14
|
+
}
|
|
15
|
+
export interface ComponentRequirements {
|
|
16
|
+
readonly permissions?: readonly ScreenPermissionRequirement[];
|
|
17
|
+
readonly capabilities?: readonly ScreenCapabilityRequirement[];
|
|
18
|
+
}
|
|
19
|
+
//# sourceMappingURL=requirements.d.ts.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements.d.ts","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AAAA,eAAO,MAAM,0BAA0B,kJAS7B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,eAAO,MAAM,0BAA0B,qHAQ7B,CAAC;AAEX,MAAM,MAAM,uBAAuB,GAAG,CAAC,OAAO,0BAA0B,CAAC,CAAC,MAAM,CAAC,CAAC;AAElF,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,2BAA2B;IAC1C,QAAQ,CAAC,UAAU,EAAE,uBAAuB,CAAC;CAC9C;AAED,MAAM,WAAW,kBAAkB;IACjC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAChE;AAED,MAAM,WAAW,qBAAqB;IACpC,QAAQ,CAAC,WAAW,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;IAC9D,QAAQ,CAAC,YAAY,CAAC,EAAE,SAAS,2BAA2B,EAAE,CAAC;CAChE"}
|
|
@@ -0,0 +1,20 @@
|
|
|
1
|
+
export const ANKHORAGE_PERMISSION_NAMES = [
|
|
2
|
+
'camera',
|
|
3
|
+
'microphone',
|
|
4
|
+
'mediaLibrary',
|
|
5
|
+
'mediaLibraryWrite',
|
|
6
|
+
'locationForeground',
|
|
7
|
+
'locationBackground',
|
|
8
|
+
'notifications',
|
|
9
|
+
'clipboard',
|
|
10
|
+
];
|
|
11
|
+
export const ANKHORAGE_CAPABILITY_NAMES = [
|
|
12
|
+
'barcodeScanner',
|
|
13
|
+
'cameraPreview',
|
|
14
|
+
'mediaPicker',
|
|
15
|
+
'filePicker',
|
|
16
|
+
'location',
|
|
17
|
+
'notifications',
|
|
18
|
+
'clipboard',
|
|
19
|
+
];
|
|
20
|
+
//# sourceMappingURL=requirements.js.map
|
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"requirements.js","sourceRoot":"","sources":["../src/requirements.ts"],"names":[],"mappings":"AAAA,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,QAAQ;IACR,YAAY;IACZ,cAAc;IACd,mBAAmB;IACnB,oBAAoB;IACpB,oBAAoB;IACpB,eAAe;IACf,WAAW;CACH,CAAC;AAIX,MAAM,CAAC,MAAM,0BAA0B,GAAG;IACxC,gBAAgB;IAChB,eAAe;IACf,aAAa;IACb,YAAY;IACZ,UAAU;IACV,eAAe;IACf,WAAW;CACH,CAAC","sourcesContent":["export const ANKHORAGE_PERMISSION_NAMES = [\n 'camera',\n 'microphone',\n 'mediaLibrary',\n 'mediaLibraryWrite',\n 'locationForeground',\n 'locationBackground',\n 'notifications',\n 'clipboard',\n] as const;\n\nexport type AnkhoragePermissionName = (typeof ANKHORAGE_PERMISSION_NAMES)[number];\n\nexport const ANKHORAGE_CAPABILITY_NAMES = [\n 'barcodeScanner',\n 'cameraPreview',\n 'mediaPicker',\n 'filePicker',\n 'location',\n 'notifications',\n 'clipboard',\n] as const;\n\nexport type AnkhorageCapabilityName = (typeof ANKHORAGE_CAPABILITY_NAMES)[number];\n\nexport interface ScreenPermissionRequirement {\n readonly permission: AnkhoragePermissionName;\n}\n\nexport interface ScreenCapabilityRequirement {\n readonly capability: AnkhorageCapabilityName;\n}\n\nexport interface ScreenRequirements {\n readonly permissions?: readonly ScreenPermissionRequirement[];\n readonly capabilities?: readonly ScreenCapabilityRequirement[];\n}\n\nexport interface ComponentRequirements {\n readonly permissions?: readonly ScreenPermissionRequirement[];\n readonly capabilities?: readonly ScreenCapabilityRequirement[];\n}\n"]}
|
package/dist/types.d.ts
CHANGED
|
@@ -2,6 +2,7 @@ import type { ColorHarmony } from '@ankhorage/color-theory';
|
|
|
2
2
|
import type { AuthFlowConfig, AuthIdentifierKind, AuthOAuthConfig, AuthSignUpField } from './auth';
|
|
3
3
|
import type { ComponentDataBindingRegistry } from './bindings';
|
|
4
4
|
import type { AppDataManifest, DataSourceRegistry } from './data';
|
|
5
|
+
import type { ScreenRequirements } from './requirements';
|
|
5
6
|
export interface ThemeModeConfig {
|
|
6
7
|
primaryColor: string;
|
|
7
8
|
harmony: ColorHarmony;
|
|
@@ -111,6 +112,12 @@ export type AuthSignUpPolicy = (typeof AUTH_SIGN_UP_POLICIES)[number];
|
|
|
111
112
|
export declare const AUTH_PROFILE_FIELDS: readonly ["email", "username", "phone", "firstName", "lastName", "displayName", "avatarUrl"];
|
|
112
113
|
export type KnownAuthProfileField = (typeof AUTH_PROFILE_FIELDS)[number];
|
|
113
114
|
export type AuthProfileField = KnownAuthProfileField | (string & {});
|
|
115
|
+
export declare const AUTH_PROFILE_PRIMARY_KEY_STRATEGIES: readonly ["authUserId"];
|
|
116
|
+
export type AuthProfilePrimaryKeyStrategy = (typeof AUTH_PROFILE_PRIMARY_KEY_STRATEGIES)[number];
|
|
117
|
+
export declare const AUTH_PROFILE_CREATE_STRATEGIES: readonly ["trigger", "api", "app"];
|
|
118
|
+
export type AuthProfileCreateStrategy = (typeof AUTH_PROFILE_CREATE_STRATEGIES)[number];
|
|
119
|
+
export declare const AUTH_PROFILE_UPDATE_STRATEGIES: readonly ["api", "app"];
|
|
120
|
+
export type AuthProfileUpdateStrategy = (typeof AUTH_PROFILE_UPDATE_STRATEGIES)[number];
|
|
114
121
|
export interface IconSpec {
|
|
115
122
|
name: string;
|
|
116
123
|
provider?: string;
|
|
@@ -131,6 +138,7 @@ export interface ScreenSpec {
|
|
|
131
138
|
title?: string;
|
|
132
139
|
description?: string;
|
|
133
140
|
root: UiNode;
|
|
141
|
+
requires?: ScreenRequirements;
|
|
134
142
|
}
|
|
135
143
|
export interface NavigatorSpec {
|
|
136
144
|
type: NavigatorType;
|
|
@@ -190,6 +198,10 @@ export interface AuthSignUpSpec {
|
|
|
190
198
|
}
|
|
191
199
|
export interface AuthProfileSpec {
|
|
192
200
|
fields: AuthProfileField[];
|
|
201
|
+
table?: string;
|
|
202
|
+
primaryKey?: AuthProfilePrimaryKeyStrategy;
|
|
203
|
+
createStrategy?: AuthProfileCreateStrategy;
|
|
204
|
+
updateStrategy?: AuthProfileUpdateStrategy;
|
|
193
205
|
}
|
|
194
206
|
export interface AuthSpec {
|
|
195
207
|
scope: AuthScope;
|
package/dist/types.d.ts.map
CHANGED
|
@@ -1 +1 @@
|
|
|
1
|
-
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"AAAA,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,yBAAyB,CAAC;AAE5D,OAAO,KAAK,EAAE,cAAc,EAAE,kBAAkB,EAAE,eAAe,EAAE,eAAe,EAAE,MAAM,QAAQ,CAAC;AACnG,OAAO,KAAK,EAAE,4BAA4B,EAAE,MAAM,YAAY,CAAC;AAC/D,OAAO,KAAK,EAAE,eAAe,EAAE,kBAAkB,EAAE,MAAM,QAAQ,CAAC;
|
|
1
|
+
{"version":3,"file":"types.d.ts","sourceRoot":"","sources":["../src/types.ts"],"names":[],"mappings":"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"}
|
package/dist/types.js
CHANGED
|
@@ -43,4 +43,7 @@ export const AUTH_PROFILE_FIELDS = [
|
|
|
43
43
|
'displayName',
|
|
44
44
|
'avatarUrl',
|
|
45
45
|
];
|
|
46
|
+
export const AUTH_PROFILE_PRIMARY_KEY_STRATEGIES = ['authUserId'];
|
|
47
|
+
export const AUTH_PROFILE_CREATE_STRATEGIES = ['trigger', 'api', 'app'];
|
|
48
|
+
export const AUTH_PROFILE_UPDATE_STRATEGIES = ['api', 'app'];
|
|
46
49
|
//# sourceMappingURL=types.js.map
|