@fluidframework/driver-definitions 2.1.0-274160 → 2.1.0-276326

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (114) hide show
  1. package/dist/driverError.d.ts +10 -0
  2. package/dist/driverError.d.ts.map +1 -1
  3. package/dist/driverError.js +1 -0
  4. package/dist/driverError.js.map +1 -1
  5. package/dist/git/resources.d.ts +2 -0
  6. package/dist/git/resources.d.ts.map +1 -1
  7. package/dist/git/resources.js.map +1 -1
  8. package/dist/legacy.d.ts +1 -1
  9. package/dist/protocol/clients.d.ts +1 -0
  10. package/dist/protocol/clients.d.ts.map +1 -1
  11. package/dist/protocol/clients.js.map +1 -1
  12. package/dist/protocol/config.d.ts +1 -0
  13. package/dist/protocol/config.d.ts.map +1 -1
  14. package/dist/protocol/config.js.map +1 -1
  15. package/dist/protocol/consensus.d.ts +7 -0
  16. package/dist/protocol/consensus.d.ts.map +1 -1
  17. package/dist/protocol/consensus.js.map +1 -1
  18. package/dist/protocol/date.d.ts +1 -0
  19. package/dist/protocol/date.d.ts.map +1 -1
  20. package/dist/protocol/date.js.map +1 -1
  21. package/dist/protocol/protocol.d.ts +15 -0
  22. package/dist/protocol/protocol.d.ts.map +1 -1
  23. package/dist/protocol/protocol.js +2 -0
  24. package/dist/protocol/protocol.js.map +1 -1
  25. package/dist/protocol/scopes.d.ts +1 -0
  26. package/dist/protocol/scopes.d.ts.map +1 -1
  27. package/dist/protocol/scopes.js +1 -0
  28. package/dist/protocol/scopes.js.map +1 -1
  29. package/dist/protocol/sockets.d.ts +2 -0
  30. package/dist/protocol/sockets.d.ts.map +1 -1
  31. package/dist/protocol/sockets.js.map +1 -1
  32. package/dist/protocol/storage.d.ts +10 -0
  33. package/dist/protocol/storage.d.ts.map +1 -1
  34. package/dist/protocol/storage.js +2 -0
  35. package/dist/protocol/storage.js.map +1 -1
  36. package/dist/protocol/summary.d.ts +1 -0
  37. package/dist/protocol/summary.d.ts.map +1 -1
  38. package/dist/protocol/summary.js.map +1 -1
  39. package/dist/protocol/tokens.d.ts +1 -0
  40. package/dist/protocol/tokens.d.ts.map +1 -1
  41. package/dist/protocol/tokens.js.map +1 -1
  42. package/dist/storage.d.ts +17 -0
  43. package/dist/storage.d.ts.map +1 -1
  44. package/dist/storage.js +2 -0
  45. package/dist/storage.js.map +1 -1
  46. package/dist/urlResolver.d.ts +5 -0
  47. package/dist/urlResolver.d.ts.map +1 -1
  48. package/dist/urlResolver.js +1 -0
  49. package/dist/urlResolver.js.map +1 -1
  50. package/lib/driverError.d.ts +10 -0
  51. package/lib/driverError.d.ts.map +1 -1
  52. package/lib/driverError.js +1 -0
  53. package/lib/driverError.js.map +1 -1
  54. package/lib/git/resources.d.ts +2 -0
  55. package/lib/git/resources.d.ts.map +1 -1
  56. package/lib/git/resources.js.map +1 -1
  57. package/lib/legacy.d.ts +1 -1
  58. package/lib/protocol/clients.d.ts +1 -0
  59. package/lib/protocol/clients.d.ts.map +1 -1
  60. package/lib/protocol/clients.js.map +1 -1
  61. package/lib/protocol/config.d.ts +1 -0
  62. package/lib/protocol/config.d.ts.map +1 -1
  63. package/lib/protocol/config.js.map +1 -1
  64. package/lib/protocol/consensus.d.ts +7 -0
  65. package/lib/protocol/consensus.d.ts.map +1 -1
  66. package/lib/protocol/consensus.js.map +1 -1
  67. package/lib/protocol/date.d.ts +1 -0
  68. package/lib/protocol/date.d.ts.map +1 -1
  69. package/lib/protocol/date.js.map +1 -1
  70. package/lib/protocol/protocol.d.ts +15 -0
  71. package/lib/protocol/protocol.d.ts.map +1 -1
  72. package/lib/protocol/protocol.js +2 -0
  73. package/lib/protocol/protocol.js.map +1 -1
  74. package/lib/protocol/scopes.d.ts +1 -0
  75. package/lib/protocol/scopes.d.ts.map +1 -1
  76. package/lib/protocol/scopes.js +1 -0
  77. package/lib/protocol/scopes.js.map +1 -1
  78. package/lib/protocol/sockets.d.ts +2 -0
  79. package/lib/protocol/sockets.d.ts.map +1 -1
  80. package/lib/protocol/sockets.js.map +1 -1
  81. package/lib/protocol/storage.d.ts +10 -0
  82. package/lib/protocol/storage.d.ts.map +1 -1
  83. package/lib/protocol/storage.js +2 -0
  84. package/lib/protocol/storage.js.map +1 -1
  85. package/lib/protocol/summary.d.ts +1 -0
  86. package/lib/protocol/summary.d.ts.map +1 -1
  87. package/lib/protocol/summary.js.map +1 -1
  88. package/lib/protocol/tokens.d.ts +1 -0
  89. package/lib/protocol/tokens.d.ts.map +1 -1
  90. package/lib/protocol/tokens.js.map +1 -1
  91. package/lib/storage.d.ts +17 -0
  92. package/lib/storage.d.ts.map +1 -1
  93. package/lib/storage.js +2 -0
  94. package/lib/storage.js.map +1 -1
  95. package/lib/urlResolver.d.ts +5 -0
  96. package/lib/urlResolver.d.ts.map +1 -1
  97. package/lib/urlResolver.js +1 -0
  98. package/lib/urlResolver.js.map +1 -1
  99. package/package.json +5 -5
  100. package/src/driverError.ts +10 -0
  101. package/src/git/resources.ts +2 -0
  102. package/src/protocol/clients.ts +1 -0
  103. package/src/protocol/config.ts +1 -0
  104. package/src/protocol/consensus.ts +7 -0
  105. package/src/protocol/date.ts +1 -0
  106. package/src/protocol/protocol.ts +15 -0
  107. package/src/protocol/scopes.ts +1 -0
  108. package/src/protocol/sockets.ts +2 -0
  109. package/src/protocol/storage.ts +10 -0
  110. package/src/protocol/summary.ts +1 -0
  111. package/src/protocol/tokens.ts +1 -0
  112. package/src/storage.ts +17 -0
  113. package/src/urlResolver.ts +5 -0
  114. /package/api-report/{driver-definitions.alpha.api.md → driver-definitions.legacy.alpha.api.md} +0 -0
@@ -4,6 +4,7 @@
4
4
  */
5
5
  /**
6
6
  * Defines scope access for a Container/Document.
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export declare enum ScopeType {
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;GAGG;AACH,oBAAY,SAAS;IACpB;;OAEG;IACH,OAAO,aAAa;IAEpB;;OAEG;IACH,QAAQ,cAAc;IAEtB;;OAEG;IACH,YAAY,kBAAkB;CAC9B"}
1
+ {"version":3,"file":"scopes.d.ts","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;GAIG;AACH,oBAAY,SAAS;IACpB;;OAEG;IACH,OAAO,aAAa;IAEpB;;OAEG;IACH,QAAQ,cAAc;IAEtB;;OAEG;IACH,YAAY,kBAAkB;CAC9B"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.ScopeType = void 0;
8
8
  /**
9
9
  * Defines scope access for a Container/Document.
10
+ * @legacy
10
11
  * @alpha
11
12
  */
12
13
  var ScopeType;
@@ -1 +1 @@
1
- {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;GAGG;AACH,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB;;OAEG;IACH,iCAAoB,CAAA;IAEpB;;OAEG;IACH,mCAAsB,CAAA;IAEtB;;OAEG;IACH,2CAA8B,CAAA;AAC/B,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Defines scope access for a Container/Document.\n * @alpha\n */\nexport enum ScopeType {\n\t/**\n\t * Read access is supported on the Container/Document\n\t */\n\tDocRead = \"doc:read\",\n\n\t/**\n\t * Write access is supported on the Container/Document\n\t */\n\tDocWrite = \"doc:write\",\n\n\t/**\n\t * User can generate new summaries operations\n\t */\n\tSummaryWrite = \"summary:write\",\n}\n"]}
1
+ {"version":3,"file":"scopes.js","sourceRoot":"","sources":["../../src/protocol/scopes.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAEH;;;;GAIG;AACH,IAAY,SAeX;AAfD,WAAY,SAAS;IACpB;;OAEG;IACH,iCAAoB,CAAA;IAEpB;;OAEG;IACH,mCAAsB,CAAA;IAEtB;;OAEG;IACH,2CAA8B,CAAA;AAC/B,CAAC,EAfW,SAAS,yBAAT,SAAS,QAepB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Defines scope access for a Container/Document.\n * @legacy\n * @alpha\n */\nexport enum ScopeType {\n\t/**\n\t * Read access is supported on the Container/Document\n\t */\n\tDocRead = \"doc:read\",\n\n\t/**\n\t * Write access is supported on the Container/Document\n\t */\n\tDocWrite = \"doc:write\",\n\n\t/**\n\t * User can generate new summaries operations\n\t */\n\tSummaryWrite = \"summary:write\",\n}\n"]}
@@ -8,6 +8,7 @@ import type { ISequencedDocumentMessage, ISignalMessage } from "./protocol.js";
8
8
  import type { ITokenClaims } from "./tokens.js";
9
9
  /**
10
10
  * Message sent to connect to the given document.
11
+ * @legacy
11
12
  * @alpha
12
13
  */
13
14
  export interface IConnect {
@@ -64,6 +65,7 @@ export interface IConnect {
64
65
  }
65
66
  /**
66
67
  * Message sent to indicate a client has connected to the server.
68
+ * @legacy
67
69
  * @alpha
68
70
  */
69
71
  export interface IConnected {
@@ -1 +1 @@
1
- {"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IAGH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;GAGG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
1
+ {"version":3,"file":"sockets.d.ts","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,cAAc,EAAE,OAAO,EAAE,aAAa,EAAE,MAAM,cAAc,CAAC;AAC3E,OAAO,KAAK,EAAE,oBAAoB,EAAE,MAAM,aAAa,CAAC;AACxD,OAAO,KAAK,EAAE,yBAAyB,EAAE,cAAc,EAAE,MAAM,eAAe,CAAC;AAC/E,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,aAAa,CAAC;AAEhD;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IAGH,KAAK,EAAE,MAAM,GAAG,IAAI,CAAC;IAErB;;OAEG;IACH,MAAM,EAAE,OAAO,CAAC;IAEhB;;OAEG;IACH,QAAQ,EAAE,MAAM,EAAE,CAAC;IAEnB;;;OAGG;IACH,aAAa,CAAC,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;OAGG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;;;OAIG;IACH,cAAc,CAAC,EAAE,MAAM,CAAC;CACxB;AAED;;;;GAIG;AACH,MAAM,WAAW,UAAU;IAC1B;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,iBAAiB,EAAE,MAAM,EAAE,CAAC;IAE5B;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;OAEG;IACH,KAAK,CAAC,EAAE,MAAM,CAAC;IAEf;;;;OAIG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC,MAAM,EAAE,OAAO,CAAC,CAAC;IAE5C;;OAEG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;CAC3B"}
@@ -1 +1 @@
1
- {"version":3,"file":"sockets.js","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ConnectionMode, IClient, ISignalClient } from \"./clients.js\";\nimport type { IClientConfiguration } from \"./config.js\";\nimport type { ISequencedDocumentMessage, ISignalMessage } from \"./protocol.js\";\nimport type { ITokenClaims } from \"./tokens.js\";\n\n/**\n * Message sent to connect to the given document.\n * @alpha\n */\nexport interface IConnect {\n\t/**\n\t * The tenant ID for the document.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * The document that is being connected to\n\t */\n\tid: string;\n\n\t/**\n\t * Authorization token\n\t */\n\t// TODO: Update this to use undefined instead of null.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\ttoken: string | null;\n\n\t/**\n\t * Type of the client trying to connect\n\t */\n\tclient: IClient;\n\n\t/**\n\t * Semver list of protocol versions supported by the client ordered in priority of use\n\t */\n\tversions: string[];\n\n\t/**\n\t * Version of the driver which is connecting. It can be used at server to record in telemetry or\n\t * to block/allow specific driver version for specific features.\n\t */\n\tdriverVersion?: string;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Represents the version of document at client. It should match the version on server\n\t * for connection to be successful.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that client supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * Properties that client can send to server to tell info about client environment. These are a bunch of properties\n\t * separated by \";\" which server can log to better understand client environment etc.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayUserAgent?: string;\n}\n\n/**\n * Message sent to indicate a client has connected to the server.\n * @alpha\n */\nexport interface IConnected {\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * The client who is sending the message\n\t */\n\tclientId: string;\n\n\t/**\n\t * Whether or not this is an existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Maximum size of a message before chunking is required\n\t */\n\tmaxMessageSize: number;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Protocol version selected by the server to communicate with the client\n\t */\n\tversion: string;\n\n\t/**\n\t * List of protocol versions supported by the server\n\t */\n\tsupportedVersions: string[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Represents the version of document at server.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that ordering service supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * The time the client connected\n\t */\n\ttimestamp?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n}\n"]}
1
+ {"version":3,"file":"sockets.js","sourceRoot":"","sources":["../../src/protocol/sockets.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { ConnectionMode, IClient, ISignalClient } from \"./clients.js\";\nimport type { IClientConfiguration } from \"./config.js\";\nimport type { ISequencedDocumentMessage, ISignalMessage } from \"./protocol.js\";\nimport type { ITokenClaims } from \"./tokens.js\";\n\n/**\n * Message sent to connect to the given document.\n * @legacy\n * @alpha\n */\nexport interface IConnect {\n\t/**\n\t * The tenant ID for the document.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * The document that is being connected to\n\t */\n\tid: string;\n\n\t/**\n\t * Authorization token\n\t */\n\t// TODO: Update this to use undefined instead of null.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\ttoken: string | null;\n\n\t/**\n\t * Type of the client trying to connect\n\t */\n\tclient: IClient;\n\n\t/**\n\t * Semver list of protocol versions supported by the client ordered in priority of use\n\t */\n\tversions: string[];\n\n\t/**\n\t * Version of the driver which is connecting. It can be used at server to record in telemetry or\n\t * to block/allow specific driver version for specific features.\n\t */\n\tdriverVersion?: string;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Represents the version of document at client. It should match the version on server\n\t * for connection to be successful.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that client supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * Properties that client can send to server to tell info about client environment. These are a bunch of properties\n\t * separated by \";\" which server can log to better understand client environment etc.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayUserAgent?: string;\n}\n\n/**\n * Message sent to indicate a client has connected to the server.\n * @legacy\n * @alpha\n */\nexport interface IConnected {\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * The client who is sending the message\n\t */\n\tclientId: string;\n\n\t/**\n\t * Whether or not this is an existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Maximum size of a message before chunking is required\n\t */\n\tmaxMessageSize: number;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Protocol version selected by the server to communicate with the client\n\t */\n\tversion: string;\n\n\t/**\n\t * List of protocol versions supported by the server\n\t */\n\tsupportedVersions: string[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Connection mode of client.\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * An optional nonce used during connection to identify connection attempts\n\t */\n\tnonce?: string;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Represents the version of document at server.\n\t */\n\tepoch?: string;\n\n\t/**\n\t * A list of optional features that ordering service supports.\n\t * Features supported might be service specific.\n\t * If we have standardized features across all services, they need to be exposed in more structured way.\n\t */\n\tsupportedFeatures?: Record<string, unknown>;\n\n\t/**\n\t * The time the client connected\n\t */\n\ttimestamp?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { IsoDate } from "./date.js";
6
6
  /**
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export interface IDocumentAttributes {
@@ -17,6 +18,7 @@ export interface IDocumentAttributes {
17
18
  minimumSequenceNumber: number;
18
19
  }
19
20
  /**
21
+ * @legacy
20
22
  * @alpha
21
23
  */
22
24
  export declare enum FileMode {
@@ -27,6 +29,7 @@ export declare enum FileMode {
27
29
  }
28
30
  /**
29
31
  * Raw blob stored within the tree.
32
+ * @legacy
30
33
  * @alpha
31
34
  */
32
35
  export interface IBlob {
@@ -40,12 +43,14 @@ export interface IBlob {
40
43
  encoding: "utf-8" | "base64";
41
44
  }
42
45
  /**
46
+ * @legacy
43
47
  * @alpha
44
48
  */
45
49
  export interface IAttachment {
46
50
  id: string;
47
51
  }
48
52
  /**
53
+ * @legacy
49
54
  * @alpha
50
55
  */
51
56
  export interface ICreateBlobResponse {
@@ -53,6 +58,7 @@ export interface ICreateBlobResponse {
53
58
  }
54
59
  /**
55
60
  * A tree entry wraps a path with a type of node.
61
+ * @legacy
56
62
  * @alpha
57
63
  */
58
64
  export type ITreeEntry = {
@@ -77,6 +83,7 @@ export type ITreeEntry = {
77
83
  });
78
84
  /**
79
85
  * Type of entries that can be stored in a tree.
86
+ * @legacy
80
87
  * @alpha
81
88
  */
82
89
  export declare enum TreeEntry {
@@ -85,6 +92,7 @@ export declare enum TreeEntry {
85
92
  Attachment = "Attachment"
86
93
  }
87
94
  /**
95
+ * @legacy
88
96
  * @alpha
89
97
  */
90
98
  export interface ITree {
@@ -107,6 +115,7 @@ export interface ITree {
107
115
  groupId?: string;
108
116
  }
109
117
  /**
118
+ * @legacy
110
119
  * @alpha
111
120
  */
112
121
  export interface ISnapshotTree {
@@ -140,6 +149,7 @@ export interface ISnapshotTreeEx extends ISnapshotTree {
140
149
  }
141
150
  /**
142
151
  * Represents a version of the snapshot of a data store.
152
+ * @legacy
143
153
  * @alpha
144
154
  */
145
155
  export interface IVersion {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED;;GAEG;AACH,oBAAY,QAAQ;IACnB,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,SAAS,WAAW;IACpB,OAAO,WAAW;CAClB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IAEH,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC7B;AAED;;GAEG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;GAEG;AACH,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CAClB,CACH,CAAC;AAEF;;;GAGG;AACH,oBAAY,SAAS;IACpB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;CACzB;AAED;;GAEG;AACH,MAAM,WAAW,KAAK;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,OAAO,EAAE,MAAM,WAAW,CAAC;AAEzC;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC;;OAEG;IACH,cAAc,EAAE,MAAM,CAAC;IAEvB;;OAEG;IACH,qBAAqB,EAAE,MAAM,CAAC;CAC9B;AAED;;;GAGG;AACH,oBAAY,QAAQ;IACnB,IAAI,WAAW;IACf,UAAU,WAAW;IACrB,SAAS,WAAW;IACpB,OAAO,WAAW;CAClB;AAED;;;;GAIG;AACH,MAAM,WAAW,KAAK;IACrB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IAEH,QAAQ,EAAE,OAAO,GAAG,QAAQ,CAAC;CAC7B;AAED;;;GAGG;AACH,MAAM,WAAW,WAAW;IAC3B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,MAAM,UAAU,GAAG;IACxB;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;IAEb;;;OAGG;IACH,IAAI,EAAE,QAAQ,CAAC;CACf,GAAG,CACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,IAAI,CAAC;IACrB,KAAK,EAAE,KAAK,CAAC;CACZ,GACD;IACA,IAAI,EAAE,SAAS,CAAC,UAAU,CAAC;IAC3B,KAAK,EAAE,WAAW,CAAC;CAClB,CACH,CAAC;AAEF;;;;GAIG;AACH,oBAAY,SAAS;IACpB,IAAI,SAAS;IACb,IAAI,SAAS;IACb,UAAU,eAAe;CACzB;AAED;;;GAGG;AACH,MAAM,WAAW,KAAK;IACrB,OAAO,EAAE,UAAU,EAAE,CAAC;IAEtB;;;OAGG;IACH,EAAE,CAAC,EAAE,MAAM,CAAC;IAEZ;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,EAAE,CAAC,EAAE,MAAM,CAAC;IACZ,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IAClC,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAEzC;;OAEG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB;AAED;;GAEG;AACH,MAAM,WAAW,eAAgB,SAAQ,aAAa;IACrD,EAAE,EAAE,MAAM,CAAC;IACX,KAAK,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,eAAe,CAAA;KAAE,CAAC;CAC3C;AAED;;;;GAIG;AACH,MAAM,WAAW,QAAQ;IACxB;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IAEX;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;IAEf;;OAEG;IACH,IAAI,CAAC,EAAE,OAAO,CAAC;CACf"}
@@ -6,6 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.TreeEntry = exports.FileMode = void 0;
8
8
  /**
9
+ * @legacy
9
10
  * @alpha
10
11
  */
11
12
  var FileMode;
@@ -17,6 +18,7 @@ var FileMode;
17
18
  })(FileMode || (exports.FileMode = FileMode = {}));
18
19
  /**
19
20
  * Type of entries that can be stored in a tree.
21
+ * @legacy
20
22
  * @alpha
21
23
  */
22
24
  var TreeEntry;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAmBH;;GAEG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,gCAAoB,CAAA;IACpB,8BAAkB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AA+DD;;;GAGG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,sCAAyB,CAAA;AAC1B,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IsoDate } from \"./date.js\";\n\n/**\n * @alpha\n */\nexport interface IDocumentAttributes {\n\t/**\n\t * Sequence number at which the snapshot was taken\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Minimum sequence number when the snapshot was taken\n\t */\n\tminimumSequenceNumber: number;\n}\n\n/**\n * @alpha\n */\nexport enum FileMode {\n\tFile = \"100644\",\n\tExecutable = \"100755\",\n\tDirectory = \"040000\",\n\tSymlink = \"120000\",\n}\n\n/**\n * Raw blob stored within the tree.\n * @alpha\n */\nexport interface IBlob {\n\t/**\n\t * Contents of the blob\n\t */\n\tcontents: string;\n\n\t/**\n\t * The encoding of the contents string\n\t */\n\t// eslint-disable-next-line unicorn/text-encoding-identifier-case\n\tencoding: \"utf-8\" | \"base64\";\n}\n\n/**\n * @alpha\n */\nexport interface IAttachment {\n\tid: string;\n}\n\n/**\n * @alpha\n */\nexport interface ICreateBlobResponse {\n\tid: string;\n}\n\n/**\n * A tree entry wraps a path with a type of node.\n * @alpha\n */\nexport type ITreeEntry = {\n\t/**\n\t * Path to the object\n\t */\n\tpath: string;\n\n\t/**\n\t * The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree)\n\t * or 120000 for a blob that specifies the path of a symlink\n\t */\n\tmode: FileMode;\n} & (\n\t| {\n\t\t\ttype: TreeEntry.Blob;\n\t\t\tvalue: IBlob;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Tree;\n\t\t\tvalue: ITree;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Attachment;\n\t\t\tvalue: IAttachment;\n\t }\n);\n\n/**\n * Type of entries that can be stored in a tree.\n * @alpha\n */\nexport enum TreeEntry {\n\tBlob = \"Blob\",\n\tTree = \"Tree\",\n\tAttachment = \"Attachment\",\n}\n\n/**\n * @alpha\n */\nexport interface ITree {\n\tentries: ITreeEntry[];\n\n\t/**\n\t * Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case\n\t * it is known that the `ITree` has already been created and stored\n\t */\n\tid?: string;\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @alpha\n */\nexport interface ISnapshotTree {\n\tid?: string;\n\tblobs: { [path: string]: string };\n\ttrees: { [path: string]: ISnapshotTree };\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the snapshot tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @internal\n */\nexport interface ISnapshotTreeEx extends ISnapshotTree {\n\tid: string;\n\ttrees: { [path: string]: ISnapshotTreeEx };\n}\n\n/**\n * Represents a version of the snapshot of a data store.\n * @alpha\n */\nexport interface IVersion {\n\t/**\n\t * Version ID\n\t */\n\tid: string;\n\n\t/**\n\t * Tree ID for this version of the snapshot\n\t */\n\ttreeId: string;\n\n\t/**\n\t * Time when snapshot was generated.\n\t */\n\tdate?: IsoDate;\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../../src/protocol/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAoBH;;;GAGG;AACH,IAAY,QAKX;AALD,WAAY,QAAQ;IACnB,2BAAe,CAAA;IACf,iCAAqB,CAAA;IACrB,gCAAoB,CAAA;IACpB,8BAAkB,CAAA;AACnB,CAAC,EALW,QAAQ,wBAAR,QAAQ,QAKnB;AAmED;;;;GAIG;AACH,IAAY,SAIX;AAJD,WAAY,SAAS;IACpB,0BAAa,CAAA;IACb,0BAAa,CAAA;IACb,sCAAyB,CAAA;AAC1B,CAAC,EAJW,SAAS,yBAAT,SAAS,QAIpB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IsoDate } from \"./date.js\";\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentAttributes {\n\t/**\n\t * Sequence number at which the snapshot was taken\n\t */\n\tsequenceNumber: number;\n\n\t/**\n\t * Minimum sequence number when the snapshot was taken\n\t */\n\tminimumSequenceNumber: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum FileMode {\n\tFile = \"100644\",\n\tExecutable = \"100755\",\n\tDirectory = \"040000\",\n\tSymlink = \"120000\",\n}\n\n/**\n * Raw blob stored within the tree.\n * @legacy\n * @alpha\n */\nexport interface IBlob {\n\t/**\n\t * Contents of the blob\n\t */\n\tcontents: string;\n\n\t/**\n\t * The encoding of the contents string\n\t */\n\t// eslint-disable-next-line unicorn/text-encoding-identifier-case\n\tencoding: \"utf-8\" | \"base64\";\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IAttachment {\n\tid: string;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ICreateBlobResponse {\n\tid: string;\n}\n\n/**\n * A tree entry wraps a path with a type of node.\n * @legacy\n * @alpha\n */\nexport type ITreeEntry = {\n\t/**\n\t * Path to the object\n\t */\n\tpath: string;\n\n\t/**\n\t * The file mode; one of 100644 for file (blob), 100755 for executable (blob), 040000 for subdirectory (tree)\n\t * or 120000 for a blob that specifies the path of a symlink\n\t */\n\tmode: FileMode;\n} & (\n\t| {\n\t\t\ttype: TreeEntry.Blob;\n\t\t\tvalue: IBlob;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Tree;\n\t\t\tvalue: ITree;\n\t }\n\t| {\n\t\t\ttype: TreeEntry.Attachment;\n\t\t\tvalue: IAttachment;\n\t }\n);\n\n/**\n * Type of entries that can be stored in a tree.\n * @legacy\n * @alpha\n */\nexport enum TreeEntry {\n\tBlob = \"Blob\",\n\tTree = \"Tree\",\n\tAttachment = \"Attachment\",\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ITree {\n\tentries: ITreeEntry[];\n\n\t/**\n\t * Unique ID representing all entries in the tree. Can be used to optimize snapshotting in the case\n\t * it is known that the `ITree` has already been created and stored\n\t */\n\tid?: string;\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface ISnapshotTree {\n\tid?: string;\n\tblobs: { [path: string]: string };\n\ttrees: { [path: string]: ISnapshotTree };\n\n\t/**\n\t * Indicates that this tree is unreferenced. If this is not present, the tree is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the snapshot tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n\n/**\n * @internal\n */\nexport interface ISnapshotTreeEx extends ISnapshotTree {\n\tid: string;\n\ttrees: { [path: string]: ISnapshotTreeEx };\n}\n\n/**\n * Represents a version of the snapshot of a data store.\n * @legacy\n * @alpha\n */\nexport interface IVersion {\n\t/**\n\t * Version ID\n\t */\n\tid: string;\n\n\t/**\n\t * Tree ID for this version of the snapshot\n\t */\n\ttreeId: string;\n\n\t/**\n\t * Time when snapshot was generated.\n\t */\n\tdate?: IsoDate;\n}\n"]}
@@ -12,6 +12,7 @@
12
12
  export type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment;
13
13
  /**
14
14
  * The root of the summary tree.
15
+ * @legacy
15
16
  * @alpha
16
17
  */
17
18
  export type SummaryTree = ISummaryTree | ISummaryHandle;
@@ -1 +1 @@
1
- {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE9F;;;GAGG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;AAExD;;;GAGG;AAEH,yBAAiB,WAAW,CAAC;IAC5B;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,MAAM,GAAG,CAAC,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;;;OAKG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;OAGG;IACI,MAAM,MAAM,EAAE,MAAmB,CAAC;IAEzC;;;;;OAKG;IACI,MAAM,UAAU,EAAE,UAAuB,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GACpB,WAAW,CAAC,UAAU,GACtB,WAAW,CAAC,IAAI,GAChB,WAAW,CAAC,MAAM,GAClB,WAAW,CAAC,IAAI,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IAGvB,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAExC;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
1
+ {"version":3,"file":"summary.d.ts","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH;;;;;;GAMG;AACH,MAAM,MAAM,aAAa,GAAG,YAAY,GAAG,YAAY,GAAG,cAAc,GAAG,kBAAkB,CAAC;AAE9F;;;;GAIG;AACH,MAAM,MAAM,WAAW,GAAG,YAAY,GAAG,cAAc,CAAC;AAExD;;;GAGG;AAEH,yBAAiB,WAAW,CAAC;IAC5B;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,IAAI,GAAG,CAAC,CAAC;IACrB;;OAEG;IACH,KAAY,MAAM,GAAG,CAAC,CAAC;IACvB;;OAEG;IACH,KAAY,UAAU,GAAG,CAAC,CAAC;IAE3B;;;OAGG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;;;OAKG;IACI,MAAM,IAAI,EAAE,IAAiB,CAAC;IAErC;;;OAGG;IACI,MAAM,MAAM,EAAE,MAAmB,CAAC;IAEzC;;;;;OAKG;IACI,MAAM,UAAU,EAAE,UAAuB,CAAC;CACjD;AAED;;;GAGG;AACH,MAAM,MAAM,WAAW,GACpB,WAAW,CAAC,UAAU,GACtB,WAAW,CAAC,IAAI,GAChB,WAAW,CAAC,MAAM,GAClB,WAAW,CAAC,IAAI,CAAC;AAEpB;;;;;;;GAOG;AACH,MAAM,MAAM,mBAAmB,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,IAAI,GAAG,WAAW,CAAC,UAAU,CAAC;AAE/F;;;;;;;;;GASG;AACH,MAAM,WAAW,cAAc;IAC9B,IAAI,EAAE,WAAW,CAAC,MAAM,CAAC;IAEzB;;OAEG;IACH,UAAU,EAAE,mBAAmB,CAAC;IAEhC;;OAEG;IACH,MAAM,EAAE,MAAM,CAAC;CACf;AAED;;;;;;;;;;;GAWG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IACvB,OAAO,EAAE,MAAM,GAAG,UAAU,CAAC;CAC7B;AAED;;;;;;;;;;;;GAYG;AACH,MAAM,WAAW,kBAAkB;IAClC,IAAI,EAAE,WAAW,CAAC,UAAU,CAAC;IAC7B,EAAE,EAAE,MAAM,CAAC;CACX;AAED;;;;GAIG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,WAAW,CAAC,IAAI,CAAC;IAGvB,IAAI,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,aAAa,CAAA;KAAE,CAAC;IAExC;;;OAGG;IACH,YAAY,CAAC,EAAE,IAAI,CAAC;IAEpB;;;;;OAKG;IACH,OAAO,CAAC,EAAE,MAAM,CAAC;CACjB"}
@@ -1 +1 @@
1
- {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAiBH;;;GAGG;AACH,2DAA2D;AAC3D,IAAiB,WAAW,CA6C3B;AA7CD,WAAiB,WAAW;IAkB3B;;;OAGG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;;;OAKG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;OAGG;IACU,kBAAM,GAAW,CAAU,CAAC;IAEzC;;;;;OAKG;IACU,sBAAU,GAAe,CAAU,CAAC;AAClD,CAAC,EA7CgB,WAAW,2BAAX,WAAW,QA6C3B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Object representing a node within a summary tree.\n *\n * @remarks\n * If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children.\n * @public\n */\nexport type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment;\n\n/**\n * The root of the summary tree.\n * @alpha\n */\nexport type SummaryTree = ISummaryTree | ISummaryHandle;\n\n/**\n * Type tag used to distinguish different types of nodes in a {@link ISummaryTree}.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace SummaryType {\n\t/**\n\t * @internal\n\t */\n\texport type Tree = 1;\n\t/**\n\t * @internal\n\t */\n\texport type Blob = 2;\n\t/**\n\t * @internal\n\t */\n\texport type Handle = 3;\n\t/**\n\t * @internal\n\t */\n\texport type Attachment = 4;\n\n\t/**\n\t * Represents a sub-tree in the summary.\n\t * @public\n\t */\n\texport const Tree: Tree = 1 as const;\n\n\t/**\n\t * Represents a blob of data that is added to the summary.\n\t * Such as the user data that is added to the DDS or metadata added by runtime\n\t * such as data store / channel attributes.\n\t * @public\n\t */\n\texport const Blob: Blob = 2 as const;\n\n\t/**\n\t * Path to a summary tree object from the last successful summary.\n\t * @public\n\t */\n\texport const Handle: Handle = 3 as const;\n\n\t/**\n\t * Unique identifier to larger blobs uploaded outside of the summary.\n\t * Ex. DDS has large images or video that will be uploaded by the BlobManager and\n\t * receive an Id that can be used in the summary.\n\t * @public\n\t */\n\texport const Attachment: Attachment = 4 as const;\n}\n\n/**\n * {@inheritDoc (SummaryType:namespace)}\n * @public\n */\nexport type SummaryType =\n\t| SummaryType.Attachment\n\t| SummaryType.Blob\n\t| SummaryType.Handle\n\t| SummaryType.Tree;\n\n/**\n * Summary type that {@link ISummaryHandle} points to.\n *\n * @remarks\n * Summary handles are often used to point to summary tree objects contained within older summaries, thus avoiding\n * the need to re-send the entire subtree if summary object has not changed.\n * @public\n */\nexport type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment;\n\n/**\n * Path to a summary tree object from the last successful summary indicating the summary object hasn't\n * changed since it was uploaded.\n *\n * @example\n * To illustrate, if a DataStore did not change since last summary, the framework runtime will use a handle for the\n * entire DataStore instead of re-sending the entire subtree. The same concept applies for a DDS.\n * An example of handle would be: '/<DataStoreId>/<DDSId>'.\n * @public\n */\nexport interface ISummaryHandle {\n\ttype: SummaryType.Handle;\n\n\t/**\n\t * Type of Summary Handle (SummaryType.Handle is not supported).\n\t */\n\thandleType: SummaryTypeNoHandle;\n\n\t/**\n\t * Unique path that identifies the corresponding sub-tree in a previous summary.\n\t */\n\thandle: string;\n}\n\n/**\n * String or Binary data to be uploaded to the server as part of the container's Summary.\n *\n * @remarks\n * Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568}\n *\n * @example\n * \"content\": \"\\{ \\\"pkg\\\":\\\"[\\\\\\\"OfficeRootComponent\\\\\\\",\\\\\\\"LastEditedComponent\\\\\\\"]\\\",\n * \\\"summaryFormatVersion\\\":2,\\\"isRootDataStore\\\":false \\}\"\n * @public\n */\nexport interface ISummaryBlob {\n\ttype: SummaryType.Blob;\n\tcontent: string | Uint8Array;\n}\n\n/**\n * Unique identifier for blobs uploaded outside of the summary.\n *\n * @remarks\n *\n * Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload.\n * The ID gets returned from the backend after the attachment has been uploaded.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374}\n *\n * @example\n * \"id\": \"bQAQKARDdMdTgqICmBa_ZB86YXwGP\"\n * @public\n */\nexport interface ISummaryAttachment {\n\ttype: SummaryType.Attachment;\n\tid: string;\n}\n\n/**\n * Tree Node data structure with children that are nodes of SummaryObject type:\n * Blob, Handle, Attachment or another Tree.\n * @public\n */\nexport interface ISummaryTree {\n\ttype: SummaryType.Tree;\n\n\t// TODO type I can infer from SummaryObject. File mode I may want to directly specify so have symlink+exec access\n\ttree: { [path: string]: SummaryObject };\n\n\t/**\n\t * Indicates that this tree entry is unreferenced.\n\t * If this is not present, the tree entry is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the summary tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n"]}
1
+ {"version":3,"file":"summary.js","sourceRoot":"","sources":["../../src/protocol/summary.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAkBH;;;GAGG;AACH,2DAA2D;AAC3D,IAAiB,WAAW,CA6C3B;AA7CD,WAAiB,WAAW;IAkB3B;;;OAGG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;;;OAKG;IACU,gBAAI,GAAS,CAAU,CAAC;IAErC;;;OAGG;IACU,kBAAM,GAAW,CAAU,CAAC;IAEzC;;;;;OAKG;IACU,sBAAU,GAAe,CAAU,CAAC;AAClD,CAAC,EA7CgB,WAAW,2BAAX,WAAW,QA6C3B","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\n/**\n * Object representing a node within a summary tree.\n *\n * @remarks\n * If any particular node is an {@link ISummaryTree}, it can contain additional `SummaryObject`s as its children.\n * @public\n */\nexport type SummaryObject = ISummaryTree | ISummaryBlob | ISummaryHandle | ISummaryAttachment;\n\n/**\n * The root of the summary tree.\n * @legacy\n * @alpha\n */\nexport type SummaryTree = ISummaryTree | ISummaryHandle;\n\n/**\n * Type tag used to distinguish different types of nodes in a {@link ISummaryTree}.\n * @public\n */\n// eslint-disable-next-line @typescript-eslint/no-namespace\nexport namespace SummaryType {\n\t/**\n\t * @internal\n\t */\n\texport type Tree = 1;\n\t/**\n\t * @internal\n\t */\n\texport type Blob = 2;\n\t/**\n\t * @internal\n\t */\n\texport type Handle = 3;\n\t/**\n\t * @internal\n\t */\n\texport type Attachment = 4;\n\n\t/**\n\t * Represents a sub-tree in the summary.\n\t * @public\n\t */\n\texport const Tree: Tree = 1 as const;\n\n\t/**\n\t * Represents a blob of data that is added to the summary.\n\t * Such as the user data that is added to the DDS or metadata added by runtime\n\t * such as data store / channel attributes.\n\t * @public\n\t */\n\texport const Blob: Blob = 2 as const;\n\n\t/**\n\t * Path to a summary tree object from the last successful summary.\n\t * @public\n\t */\n\texport const Handle: Handle = 3 as const;\n\n\t/**\n\t * Unique identifier to larger blobs uploaded outside of the summary.\n\t * Ex. DDS has large images or video that will be uploaded by the BlobManager and\n\t * receive an Id that can be used in the summary.\n\t * @public\n\t */\n\texport const Attachment: Attachment = 4 as const;\n}\n\n/**\n * {@inheritDoc (SummaryType:namespace)}\n * @public\n */\nexport type SummaryType =\n\t| SummaryType.Attachment\n\t| SummaryType.Blob\n\t| SummaryType.Handle\n\t| SummaryType.Tree;\n\n/**\n * Summary type that {@link ISummaryHandle} points to.\n *\n * @remarks\n * Summary handles are often used to point to summary tree objects contained within older summaries, thus avoiding\n * the need to re-send the entire subtree if summary object has not changed.\n * @public\n */\nexport type SummaryTypeNoHandle = SummaryType.Tree | SummaryType.Blob | SummaryType.Attachment;\n\n/**\n * Path to a summary tree object from the last successful summary indicating the summary object hasn't\n * changed since it was uploaded.\n *\n * @example\n * To illustrate, if a DataStore did not change since last summary, the framework runtime will use a handle for the\n * entire DataStore instead of re-sending the entire subtree. The same concept applies for a DDS.\n * An example of handle would be: '/<DataStoreId>/<DDSId>'.\n * @public\n */\nexport interface ISummaryHandle {\n\ttype: SummaryType.Handle;\n\n\t/**\n\t * Type of Summary Handle (SummaryType.Handle is not supported).\n\t */\n\thandleType: SummaryTypeNoHandle;\n\n\t/**\n\t * Unique path that identifies the corresponding sub-tree in a previous summary.\n\t */\n\thandle: string;\n}\n\n/**\n * String or Binary data to be uploaded to the server as part of the container's Summary.\n *\n * @remarks\n * Note: Already uploaded blobs would be referenced by an {@link ISummaryAttachment}.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6568}\n *\n * @example\n * \"content\": \"\\{ \\\"pkg\\\":\\\"[\\\\\\\"OfficeRootComponent\\\\\\\",\\\\\\\"LastEditedComponent\\\\\\\"]\\\",\n * \\\"summaryFormatVersion\\\":2,\\\"isRootDataStore\\\":false \\}\"\n * @public\n */\nexport interface ISummaryBlob {\n\ttype: SummaryType.Blob;\n\tcontent: string | Uint8Array;\n}\n\n/**\n * Unique identifier for blobs uploaded outside of the summary.\n *\n * @remarks\n *\n * Attachment Blobs are uploaded and downloaded separately and do not take part of the snapshot payload.\n * The ID gets returned from the backend after the attachment has been uploaded.\n * Additional information can be found here: {@link https://github.com/microsoft/FluidFramework/issues/6374}\n *\n * @example\n * \"id\": \"bQAQKARDdMdTgqICmBa_ZB86YXwGP\"\n * @public\n */\nexport interface ISummaryAttachment {\n\ttype: SummaryType.Attachment;\n\tid: string;\n}\n\n/**\n * Tree Node data structure with children that are nodes of SummaryObject type:\n * Blob, Handle, Attachment or another Tree.\n * @public\n */\nexport interface ISummaryTree {\n\ttype: SummaryType.Tree;\n\n\t// TODO type I can infer from SummaryObject. File mode I may want to directly specify so have symlink+exec access\n\ttree: { [path: string]: SummaryObject };\n\n\t/**\n\t * Indicates that this tree entry is unreferenced.\n\t * If this is not present, the tree entry is considered referenced.\n\t */\n\tunreferenced?: true;\n\n\t/**\n\t * Represents the loading group to which the summary tree belongs to. Please refer to this readme for more context.\n\t * {@link https://github.com/microsoft/FluidFramework/blob/main/packages/runtime/container-runtime/README.md | README}\n\t * Also note that \"groupId\" is the same as \"loadingGroupId\" used elsewhere in the repo. The naming discrepancy is\n\t * intentional to minimize snapshot/summary size.\n\t */\n\tgroupId?: string;\n}\n"]}
@@ -7,6 +7,7 @@ import type { IUser } from "./users.js";
7
7
  * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims
8
8
  *
9
9
  * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}
10
+ * @legacy
10
11
  * @alpha
11
12
  */
12
13
  export interface ITokenClaims {
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;GAKG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;CACnB"}
1
+ {"version":3,"file":"tokens.d.ts","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,KAAK,EAAE,MAAM,YAAY,CAAC;AAExC;;;;;;GAMG;AACH,MAAM,WAAW,YAAY;IAC5B;;;OAGG;IACH,UAAU,EAAE,MAAM,CAAC;IAEnB;;;OAGG;IACH,MAAM,EAAE,MAAM,EAAE,CAAC;IAEjB;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,IAAI,EAAE,KAAK,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;;OAMG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;OAGG;IACH,GAAG,EAAE,MAAM,CAAC;IAEZ;;;;;OAKG;IACH,GAAG,CAAC,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,mBAAmB;IACnC,GAAG,EAAE,MAAM,CAAC;IACZ,GAAG,EAAE,YAAY,CAAC;IAClB,MAAM,EAAE,YAAY,CAAC;CACrB;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,GAAG,EAAE,MAAM,CAAC;CACZ;AAED;;;GAGG;AACH,MAAM,WAAW,aAAa;IAC7B,aAAa,CAAC,KAAK,EAAE,MAAM,GAAG,YAAY,CAAC;CAC3C;AAED;;;GAGG;AACH,MAAM,WAAW,cAAc;IAC9B;;OAEG;IACH,OAAO,IAAI,OAAO,CAAC;CACnB"}
@@ -1 +1 @@
1
- {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IUser } from \"./users.js\";\n\n/**\n * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims\n *\n * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}\n * @alpha\n */\nexport interface ITokenClaims {\n\t/**\n\t * Identifies the document (a.k.a container) for which the token is being generated.\n\t * Generated by the service.\n\t */\n\tdocumentId: string;\n\n\t/**\n\t * Identifies the permissions required by the client on the document or summary.\n\t * For every scope, you can define the permissions you want to give to the client.\n\t */\n\tscopes: string[];\n\n\t/**\n\t * Unique tenant identifier.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * User for whom the token was created.\n\t */\n\tuser: IUser;\n\n\t/**\n\t * \"Issued At\"\n\t * Indicates when the authentication for this token occurred.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6}\n\t */\n\tiat: number;\n\n\t/**\n\t * \"Expiration Time\"\n\t * Identifies the expiration time on or after which the token must not be accepted for processing.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4}\n\t */\n\texp: number;\n\n\t/**\n\t * \"Version\"\n\t * Version of the access token.\n\t */\n\tver: string;\n\n\t/**\n\t * \"JWT ID\"\n\t * A unique identifier for the token.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7}\n\t */\n\tjti?: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ISummaryTokenClaims {\n\tsub: string;\n\tact: IActorClient;\n\tclaims: ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface IActorClient {\n\tsub: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenService {\n\textractClaims(token: string): ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenProvider {\n\t/**\n\t * Whether or not the token is still valid to use.\n\t */\n\tisValid(): boolean;\n}\n"]}
1
+ {"version":3,"file":"tokens.js","sourceRoot":"","sources":["../../src/protocol/tokens.ts"],"names":[],"mappings":";AAAA;;;GAGG","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type { IUser } from \"./users.js\";\n\n/**\n * {@link https://jwt.io/introduction/ | JSON Web Token (JWT)} Claims\n *\n * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4}\n * @legacy\n * @alpha\n */\nexport interface ITokenClaims {\n\t/**\n\t * Identifies the document (a.k.a container) for which the token is being generated.\n\t * Generated by the service.\n\t */\n\tdocumentId: string;\n\n\t/**\n\t * Identifies the permissions required by the client on the document or summary.\n\t * For every scope, you can define the permissions you want to give to the client.\n\t */\n\tscopes: string[];\n\n\t/**\n\t * Unique tenant identifier.\n\t */\n\ttenantId: string;\n\n\t/**\n\t * User for whom the token was created.\n\t */\n\tuser: IUser;\n\n\t/**\n\t * \"Issued At\"\n\t * Indicates when the authentication for this token occurred.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.6}\n\t */\n\tiat: number;\n\n\t/**\n\t * \"Expiration Time\"\n\t * Identifies the expiration time on or after which the token must not be accepted for processing.\n\t * Expressed in {@link https://en.wikipedia.org/wiki/Unix_time | Unix Time}.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.4}\n\t */\n\texp: number;\n\n\t/**\n\t * \"Version\"\n\t * Version of the access token.\n\t */\n\tver: string;\n\n\t/**\n\t * \"JWT ID\"\n\t * A unique identifier for the token.\n\t *\n\t * See {@link https://datatracker.ietf.org/doc/html/rfc7519#section-4.1.7}\n\t */\n\tjti?: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ISummaryTokenClaims {\n\tsub: string;\n\tact: IActorClient;\n\tclaims: ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface IActorClient {\n\tsub: string;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenService {\n\textractClaims(token: string): ITokenClaims;\n}\n\n/**\n * @deprecated Please use client-specific types instead. E.g. from `@fluidframework/routerlicious-driver`.\n * @internal\n */\nexport interface ITokenProvider {\n\t/**\n\t * Whether or not the token is still valid to use.\n\t */\n\tisValid(): boolean;\n}\n"]}
package/dist/storage.d.ts CHANGED
@@ -42,6 +42,7 @@ export interface IDeltaStorageService {
42
42
  fetchReason?: string): Promise<IDeltasFetchResult>;
43
43
  }
44
44
  /**
45
+ * @legacy
45
46
  * @alpha
46
47
  */
47
48
  export type IStreamResult<T> = {
@@ -52,6 +53,7 @@ export type IStreamResult<T> = {
52
53
  };
53
54
  /**
54
55
  * Read interface for the Queue
56
+ * @legacy
55
57
  * @alpha
56
58
  */
57
59
  export interface IStream<T> {
@@ -59,6 +61,7 @@ export interface IStream<T> {
59
61
  }
60
62
  /**
61
63
  * Interface to provide access to stored deltas for a shared object
64
+ * @legacy
62
65
  * @alpha
63
66
  */
64
67
  export interface IDocumentDeltaStorageService {
@@ -75,12 +78,14 @@ export interface IDocumentDeltaStorageService {
75
78
  fetchMessages(from: number, to: number | undefined, abortSignal?: AbortSignal, cachedOnly?: boolean, fetchReason?: string): IStream<ISequencedDocumentMessage[]>;
76
79
  }
77
80
  /**
81
+ * @legacy
78
82
  * @alpha
79
83
  */
80
84
  export type FiveDaysMs = 432000000;
81
85
  /**
82
86
  * Policies describing attributes or characteristics of the driver's storage service,
83
87
  * to direct how other components interact with the driver
88
+ * @legacy
84
89
  * @alpha
85
90
  */
86
91
  export interface IDocumentStorageServicePolicies {
@@ -100,6 +105,7 @@ export interface IDocumentStorageServicePolicies {
100
105
  }
101
106
  /**
102
107
  * Interface to provide access to snapshots saved for a shared object
108
+ * @legacy
103
109
  * @alpha
104
110
  */
105
111
  export interface IDocumentStorageService extends Partial<IDisposable> {
@@ -156,6 +162,7 @@ export interface IDocumentStorageService extends Partial<IDisposable> {
156
162
  }
157
163
  /**
158
164
  * Events emitted by {@link IDocumentService}.
165
+ * @legacy
159
166
  * @alpha
160
167
  */
161
168
  export interface IDocumentServiceEvents extends IEvent {
@@ -166,6 +173,7 @@ export interface IDocumentServiceEvents extends IEvent {
166
173
  (event: "metadataUpdate", listener: (metadata: Record<string, string>) => void): any;
167
174
  }
168
175
  /**
176
+ * @legacy
169
177
  * @alpha
170
178
  */
171
179
  export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
@@ -177,6 +185,7 @@ export interface IDocumentDeltaConnectionEvents extends IErrorEvent {
177
185
  (event: "error", listener: (error: any) => void): any;
178
186
  }
179
187
  /**
188
+ * @legacy
180
189
  * @alpha
181
190
  */
182
191
  export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<IDocumentDeltaConnectionEvents> {
@@ -244,6 +253,7 @@ export interface IDocumentDeltaConnection extends IDisposable, IEventProvider<ID
244
253
  submitSignal: (content: string, targetClientId?: string) => void;
245
254
  }
246
255
  /**
256
+ * @legacy
247
257
  * @alpha
248
258
  */
249
259
  export declare enum LoaderCachingPolicy {
@@ -257,6 +267,7 @@ export declare enum LoaderCachingPolicy {
257
267
  Prefetch = 1
258
268
  }
259
269
  /**
270
+ * @legacy
260
271
  * @alpha
261
272
  */
262
273
  export interface IDocumentServicePolicies {
@@ -276,6 +287,7 @@ export interface IDocumentServicePolicies {
276
287
  readonly supportGetSnapshotApi?: boolean;
277
288
  }
278
289
  /**
290
+ * @legacy
279
291
  * @alpha
280
292
  */
281
293
  export interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {
@@ -309,6 +321,7 @@ export interface IDocumentService extends IEventProvider<IDocumentServiceEvents>
309
321
  dispose(error?: any): void;
310
322
  }
311
323
  /**
324
+ * @legacy
312
325
  * @alpha
313
326
  */
314
327
  export interface IDocumentServiceFactory {
@@ -340,6 +353,7 @@ export interface IDocumentServiceFactory {
340
353
  /**
341
354
  * Context for uploading a summary to storage.
342
355
  * Indicates the previously acked summary.
356
+ * @legacy
343
357
  * @alpha
344
358
  */
345
359
  export interface ISummaryContext {
@@ -354,6 +368,7 @@ export interface ISummaryContext {
354
368
  readonly referenceSequenceNumber: number;
355
369
  }
356
370
  /**
371
+ * @legacy
357
372
  * @alpha
358
373
  */
359
374
  export declare enum FetchSource {
@@ -363,6 +378,7 @@ export declare enum FetchSource {
363
378
  /**
364
379
  * A "Full" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)
365
380
  *
381
+ * @legacy
366
382
  * @alpha
367
383
  */
368
384
  export interface ISnapshot {
@@ -382,6 +398,7 @@ export interface ISnapshot {
382
398
  /**
383
399
  * Snapshot fetch options which are used to communicate different things to the driver
384
400
  * when fetching the snapshot.
401
+ * @legacy
385
402
  * @alpha
386
403
  */
387
404
  export interface ISnapshotFetchOptions {
@@ -1 +1 @@
1
- {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EACX,WAAW,EACX,WAAW,EACX,MAAM,EACN,cAAc,EACd,oBAAoB,EACpB,MAAM,iCAAiC,CAAC;AAEzC,OAAO,KAAK,EAAE,eAAe,EAAE,MAAM,kBAAkB,CAAC;AACxD,OAAO,KAAK,EACX,cAAc,EACd,OAAO,EACP,oBAAoB,EACpB,mBAAmB,EACnB,gBAAgB,EAChB,KAAK,EACL,yBAAyB,EACzB,aAAa,EACb,cAAc,EACd,aAAa,EACb,cAAc,EACd,YAAY,EACZ,YAAY,EACZ,QAAQ,EACR,MAAM,qBAAqB,CAAC;AAC7B,OAAO,KAAK,EAAE,YAAY,EAAE,MAAM,kBAAkB,CAAC;AAErD;;GAEG;AACH,MAAM,WAAW,kBAAkB;IAClC;;;OAGG;IACH,QAAQ,EAAE,yBAAyB,EAAE,CAAC;IAEtC;;;;OAIG;IACH,aAAa,EAAE,OAAO,CAAC;CACvB;AAED;;;GAGG;AACH,MAAM,WAAW,oBAAoB;IACpC;;;;;;;;;OASG;IACH,GAAG,CACF,QAAQ,EAAE,MAAM,EAChB,EAAE,EAAE,MAAM,EACV,IAAI,EAAE,MAAM,EAAE,YAAY;IAC1B,EAAE,EAAE,MAAM,EAAE,YAAY;IACxB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,kBAAkB,CAAC,CAAC;CAC/B;AAED;;GAEG;AACH,MAAM,MAAM,aAAa,CAAC,CAAC,IAAI;IAAE,IAAI,EAAE,IAAI,CAAA;CAAE,GAAG;IAAE,IAAI,EAAE,KAAK,CAAC;IAAC,KAAK,EAAE,CAAC,CAAA;CAAE,CAAC;AAE1E;;;GAGG;AACH,MAAM,WAAW,OAAO,CAAC,CAAC;IACzB,IAAI,IAAI,OAAO,CAAC,aAAa,CAAC,CAAC,CAAC,CAAC,CAAC;CAClC;AAED;;;GAGG;AACH,MAAM,WAAW,4BAA4B;IAC5C;;;;;;;;;OASG;IACH,aAAa,CACZ,IAAI,EAAE,MAAM,EACZ,EAAE,EAAE,MAAM,GAAG,SAAS,EACtB,WAAW,CAAC,EAAE,WAAW,EACzB,UAAU,CAAC,EAAE,OAAO,EACpB,WAAW,CAAC,EAAE,MAAM,GAClB,OAAO,CAAC,yBAAyB,EAAE,CAAC,CAAC;CACxC;AAMD;;GAEG;AACH,MAAM,MAAM,UAAU,GAAG,SAAW,CAAC;AAErC;;;;GAIG;AACH,MAAM,WAAW,+BAA+B;IAC/C;;OAEG;IACH,QAAQ,CAAC,OAAO,CAAC,EAAE,mBAAmB,CAAC;IAEvC;;;;;;;OAOG;IACH,QAAQ,CAAC,sBAAsB,CAAC,EAAE,UAAU,CAAC;CAC7C;AAED;;;GAGG;AACH,MAAM,WAAW,uBAAwB,SAAQ,OAAO,CAAC,WAAW,CAAC;IACpE;;OAEG;IACH,QAAQ,CAAC,QAAQ,CAAC,EAAE,+BAA+B,CAAC;IAEpD;;;;;OAKG;IAGH,eAAe,CAAC,OAAO,CAAC,EAAE,QAAQ,EAAE,YAAY,CAAC,EAAE,MAAM,GAAG,OAAO,CAAC,aAAa,GAAG,IAAI,CAAC,CAAC;IAE1F;;;;;OAKG;IACH,WAAW,CAAC,CAAC,oBAAoB,CAAC,EAAE,qBAAqB,GAAG,OAAO,CAAC,SAAS,CAAC,CAAC;IAE/E;;;;;;;;;;OAUG;IACH,WAAW,CAGV,SAAS,EAAE,MAAM,GAAG,IAAI,EACxB,KAAK,EAAE,MAAM,EACb,YAAY,CAAC,EAAE,MAAM,EACrB,WAAW,CAAC,EAAE,WAAW,GACvB,OAAO,CAAC,QAAQ,EAAE,CAAC,CAAC;IAEvB;;OAEG;IACH,UAAU,CAAC,IAAI,EAAE,eAAe,GAAG,OAAO,CAAC,mBAAmB,CAAC,CAAC;IAEhE;;OAEG;IACH,QAAQ,CAAC,EAAE,EAAE,MAAM,GAAG,OAAO,CAAC,eAAe,CAAC,CAAC;IAE/C;;;;;OAKG;IACH,wBAAwB,CAAC,OAAO,EAAE,YAAY,EAAE,OAAO,EAAE,eAAe,GAAG,OAAO,CAAC,MAAM,CAAC,CAAC;IAE3F;;;OAGG;IACH,eAAe,CAAC,MAAM,EAAE,cAAc,GAAG,OAAO,CAAC,YAAY,CAAC,CAAC;CAC/D;AAED;;;GAGG;AACH,MAAM,WAAW,sBAAuB,SAAQ,MAAM;IACrD;;;OAGG;IACH,CAAC,KAAK,EAAE,gBAAgB,EAAE,QAAQ,EAAE,CAAC,QAAQ,EAAE,MAAM,CAAC,MAAM,EAAE,MAAM,CAAC,KAAK,IAAI,OAAE;CAChF;AAED;;GAEG;AACH,MAAM,WAAW,8BAA+B,SAAQ,WAAW;IAClE,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,OAAO,EAAE,KAAK,EAAE,KAAK,IAAI,OAAE;IAC1E,CAAC,KAAK,EAAE,YAAY,EAAE,QAAQ,EAAE,CAAC,MAAM,EAAE,eAAe,KAAK,IAAI,OAAE;IACnE,CAAC,KAAK,EAAE,IAAI,EAAE,QAAQ,EAAE,CAAC,UAAU,EAAE,MAAM,EAAE,QAAQ,EAAE,yBAAyB,EAAE,KAAK,IAAI,OAAE;IAC7F,CAAC,KAAK,EAAE,QAAQ,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,cAAc,GAAG,cAAc,EAAE,KAAK,IAAI,OAAE;IAClF,CAAC,KAAK,EAAE,MAAM,EAAE,QAAQ,EAAE,CAAC,OAAO,EAAE,MAAM,KAAK,IAAI,OAAE;IAGrD,CAAC,KAAK,EAAE,OAAO,EAAE,QAAQ,EAAE,CAAC,KAAK,EAAE,GAAG,KAAK,IAAI,OAAE;CACjD;AAED;;GAEG;AACH,MAAM,WAAW,wBAChB,SAAQ,WAAW,EAClB,cAAc,CAAC,8BAA8B,CAAC;IAC/C;;OAEG;IACH,QAAQ,EAAE,MAAM,CAAC;IAEjB;;OAEG;IACH,MAAM,EAAE,YAAY,CAAC;IAErB;;OAEG;IACH,IAAI,EAAE,cAAc,CAAC;IAErB;;OAEG;IACH,QAAQ,EAAE,OAAO,CAAC;IAElB;;OAEG;IACH,OAAO,EAAE,MAAM,CAAC;IAEhB;;OAEG;IACH,eAAe,EAAE,yBAAyB,EAAE,CAAC;IAE7C;;OAEG;IACH,cAAc,EAAE,cAAc,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,aAAa,EAAE,CAAC;IAEhC;;OAEG;IACH,oBAAoB,EAAE,oBAAoB,CAAC;IAE3C;;;;;;OAMG;IACH,wBAAwB,CAAC,EAAE,MAAM,CAAC;IAElC;;;;;OAKG;IACH,iBAAiB,CAAC,EAAE,MAAM,CAAC;IAE3B;;OAEG;IACH,MAAM,CAAC,QAAQ,EAAE,gBAAgB,EAAE,GAAG,IAAI,CAAC;IAE3C;;;;;OAKG;IACH,YAAY,EAAE,CAAC,OAAO,EAAE,MAAM,EAAE,cAAc,CAAC,EAAE,MAAM,KAAK,IAAI,CAAC;CACjE;AAED;;GAEG;AACH,oBAAY,mBAAmB;IAC9B;;OAEG;IACH,SAAS,IAAA;IAET;;OAEG;IACH,QAAQ,IAAA;CACR;AAED;;GAEG;AACH,MAAM,WAAW,wBAAwB;IACxC;;OAEG;IACH,QAAQ,CAAC,WAAW,CAAC,EAAE,OAAO,CAAC;IAE/B;;OAEG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;IAEzC;;;;OAIG;IACH,QAAQ,CAAC,qBAAqB,CAAC,EAAE,OAAO,CAAC;CACzC;AAED;;GAEG;AACH,MAAM,WAAW,gBAAiB,SAAQ,cAAc,CAAC,sBAAsB,CAAC;IAC/E,WAAW,EAAE,YAAY,CAAC;IAE1B;;OAEG;IACH,QAAQ,CAAC,EAAE,wBAAwB,CAAC;IAEpC;;OAEG;IACH,gBAAgB,IAAI,OAAO,CAAC,uBAAuB,CAAC,CAAC;IAErD;;OAEG;IACH,qBAAqB,IAAI,OAAO,CAAC,4BAA4B,CAAC,CAAC;IAE/D;;OAEG;IACH,oBAAoB,CAAC,MAAM,EAAE,OAAO,GAAG,OAAO,CAAC,wBAAwB,CAAC,CAAC;IAEzE;;;;;;;;;OASG;IAGH,OAAO,CAAC,KAAK,CAAC,EAAE,GAAG,GAAG,IAAI,CAAC;CAC3B;AAED;;GAEG;AACH,MAAM,WAAW,uBAAuB;IACvC;;;;;;;;;;OAUG;IACH,qBAAqB,CACpB,WAAW,EAAE,YAAY,EACzB,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;IAE7B;;;;;;;;;;OAUG;IACH,eAAe,CACd,gBAAgB,EAAE,YAAY,GAAG,SAAS,EAC1C,oBAAoB,EAAE,YAAY,EAClC,MAAM,CAAC,EAAE,oBAAoB,EAC7B,kBAAkB,CAAC,EAAE,OAAO,GAC1B,OAAO,CAAC,gBAAgB,CAAC,CAAC;CAC7B;AAED;;;;GAIG;AACH,MAAM,WAAW,eAAe;IAC/B;;OAEG;IACH,QAAQ,CAAC,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAE5C;;OAEG;IACH,QAAQ,CAAC,SAAS,EAAE,MAAM,GAAG,SAAS,CAAC;IAEvC,QAAQ,CAAC,uBAAuB,EAAE,MAAM,CAAC;CACzC;AAED;;GAEG;AACH,oBAAY,WAAW;IACtB,OAAO,YAAY;IACnB,OAAO,YAAY;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,SAAS;IACzB,YAAY,EAAE,aAAa,CAAC;IAC5B,YAAY,EAAE,GAAG,CAAC,MAAM,EAAE,WAAW,CAAC,CAAC;IACvC,GAAG,EAAE,yBAAyB,EAAE,CAAC;IAEjC;;OAEG;IACH,cAAc,EAAE,MAAM,GAAG,SAAS,CAAC;IAEnC;;OAEG;IACH,oBAAoB,EAAE,MAAM,GAAG,SAAS,CAAC;IAEzC,eAAe,EAAE,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC;;;OAGG;IACH,YAAY,CAAC,EAAE,MAAM,CAAC;IACtB;;;OAGG;IACH,aAAa,CAAC,EAAE,OAAO,CAAC;IAExB;;;OAGG;IACH,SAAS,CAAC,EAAE,MAAM,CAAC;IAEnB;;;;OAIG;IACH,eAAe,CAAC,EAAE,MAAM,EAAE,CAAC;IAE3B;;;OAGG;IACH,WAAW,CAAC,EAAE,WAAW,CAAC;CAC1B"}
1
+ {"version":3,"file":"storage.d.ts","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":"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"}
package/dist/storage.js CHANGED
@@ -6,6 +6,7 @@
6
6
  Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.FetchSource = exports.LoaderCachingPolicy = void 0;
8
8
  /**
9
+ * @legacy
9
10
  * @alpha
10
11
  */
11
12
  var LoaderCachingPolicy;
@@ -20,6 +21,7 @@ var LoaderCachingPolicy;
20
21
  LoaderCachingPolicy[LoaderCachingPolicy["Prefetch"] = 1] = "Prefetch";
21
22
  })(LoaderCachingPolicy || (exports.LoaderCachingPolicy = LoaderCachingPolicy = {}));
22
23
  /**
24
+ * @legacy
23
25
  * @alpha
24
26
  */
25
27
  var FetchSource;
@@ -1 +1 @@
1
- {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAgUH;;GAEG;AACH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC9B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACT,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AA4HD;;GAEG;AACH,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACpB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIDisposable,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\n\nimport type { IAnyDriverError } from \"./driverError.js\";\nimport type {\n\tConnectionMode,\n\tIClient,\n\tIClientConfiguration,\n\tICreateBlobResponse,\n\tIDocumentMessage,\n\tINack,\n\tISequencedDocumentMessage,\n\tISignalClient,\n\tISignalMessage,\n\tISnapshotTree,\n\tISummaryHandle,\n\tISummaryTree,\n\tITokenClaims,\n\tIVersion,\n} from \"./protocol/index.js\";\nimport type { IResolvedUrl } from \"./urlResolver.js\";\n\n/**\n * @internal\n */\nexport interface IDeltasFetchResult {\n\t/**\n\t * Sequential set of messages starting from 'from' sequence number.\n\t * May be partial result, i.e. not fulfill original request in full.\n\t */\n\tmessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * If true, storage only partially fulfilled request, but has more ops\n\t * If false, the request was fulfilled. If less ops were returned then\n\t * requested, then storage does not have more ops in this range.\n\t */\n\tpartialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @internal\n */\nexport interface IDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the inclusive sequence number range\n\t * @param tenantId - Id of the tenant.\n\t * @param id - document id.\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tget(\n\t\ttenantId: string,\n\t\tid: string,\n\t\tfrom: number, // inclusive\n\t\tto: number, // exclusive\n\t\tfetchReason?: string,\n\t): Promise<IDeltasFetchResult>;\n}\n\n/**\n * @alpha\n */\nexport type IStreamResult<T> = { done: true } | { done: false; value: T };\n\n/**\n * Read interface for the Queue\n * @alpha\n */\nexport interface IStream<T> {\n\tread(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @alpha\n */\nexport interface IDocumentDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the exclusive sequence number range\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param abortSignal - signal that aborts operation\n\t * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tfetchMessages(\n\t\tfrom: number,\n\t\tto: number | undefined,\n\t\tabortSignal?: AbortSignal,\n\t\tcachedOnly?: boolean,\n\t\tfetchReason?: string,\n\t): IStream<ISequencedDocumentMessage[]>;\n}\n\n// DO NOT INCREASE THIS TYPE'S VALUE\n// If a driver started using a larger value,\n// internal assumptions of the Runtime's GC feature will be violated\n// DO NOT INCREASE THIS TYPE'S VALUE\n/**\n * @alpha\n */\nexport type FiveDaysMs = 432_000_000; /* 5 days in milliseconds */\n\n/**\n * Policies describing attributes or characteristics of the driver's storage service,\n * to direct how other components interact with the driver\n * @alpha\n */\nexport interface IDocumentStorageServicePolicies {\n\t/**\n\t * Should the Loader implement any sort of pre-fetching or caching mechanism?\n\t */\n\treadonly caching?: LoaderCachingPolicy;\n\n\t/**\n\t * IMPORTANT: This policy MUST be set to 5 days and PROPERLY ENFORCED for drivers that are used\n\t * in applications where Garbage Collection is enabled. Otherwise data loss may occur.\n\t *\n\t * This policy pertains to requests for the latest snapshot from the service.\n\t * If set, it means that the driver guarantees not to use a cached value that was fetched more than 5 days ago.\n\t * If undefined, the driver makes no guarantees about the age of snapshots used for loading.\n\t */\n\treadonly maximumCacheDurationMs?: FiveDaysMs;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n * @alpha\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\treadonly policies?: IDocumentStorageServicePolicies;\n\n\t/**\n\t * Returns the snapshot tree.\n\t * @param version - Version of the snapshot to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t */\n\t// TODO: use `undefined` instead.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tgetSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n\t/**\n\t * Returns the snapshot which can contain other artifacts too like blob contents, ops etc. It is different from\n\t * `getSnapshotTree` api in that, that API only returns the snapshot tree from the snapshot.\n\t * @param snapshotFetchOptions - Options specified by the caller to specify and want certain behavior from the\n\t * driver when fetching the snapshot.\n\t */\n\tgetSnapshot?(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;\n\n\t/**\n\t * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n\t * @param versionId - Version id of the requested version.\n\t * @param count - Number of the versions to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n\t * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n\t * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n\t * from storage.\n\t */\n\tgetVersions(\n\t\t// TODO: use `undefined` instead.\n\t\t// eslint-disable-next-line @rushstack/no-new-null\n\t\tversionId: string | null,\n\t\tcount: number,\n\t\tscenarioName?: string,\n\t\tfetchSource?: FetchSource,\n\t): Promise<IVersion[]>;\n\n\t/**\n\t * Creates a blob out of the given buffer\n\t */\n\tcreateBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n\t/**\n\t * Reads the object with the given ID, returns content in arrayBufferLike\n\t */\n\treadBlob(id: string): Promise<ArrayBufferLike>;\n\n\t/**\n\t * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n\t * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n\t * referencing from the previously acked summary.\n\t * Returns the uploaded summary handle.\n\t */\n\tuploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n\t/**\n\t * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n\t * server has deleted it this call may result in a broken promise.\n\t */\n\tdownloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\n/**\n * Events emitted by {@link IDocumentService}.\n * @alpha\n */\nexport interface IDocumentServiceEvents extends IEvent {\n\t/**\n\t * This event is used to communicate any metadata related to the container. We might have received metadata from the service.\n\t * Read more info on this event from here `IContainer.containerMetadata`.\n\t */\n\t(event: \"metadataUpdate\", listener: (metadata: Record<string, string>) => void);\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n\t(event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n\t(event: \"disconnect\", listener: (reason: IAnyDriverError) => void);\n\t(event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n\t(event: \"signal\", listener: (message: ISignalMessage | ISignalMessage[]) => void);\n\t(event: \"pong\", listener: (latency: number) => void);\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (error: any) => void);\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentDeltaConnection\n\textends IDisposable,\n\t\tIEventProvider<IDocumentDeltaConnectionEvents> {\n\t/**\n\t * ClientID for the connection\n\t */\n\tclientId: string;\n\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * Mode of the client\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * Whether the connection was made to a new or existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Protocol version being used with the service\n\t */\n\tversion: string;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n\n\t/**\n\t * Submit a new message to the server\n\t */\n\tsubmit(messages: IDocumentMessage[]): void;\n\n\t/**\n\t * Submits a new signal to the server\n\t *\n\t * @privateRemarks\n\t * UnknownShouldBe<string> can be string if {@link IDocumentServiceFactory} becomes internal.\n\t */\n\tsubmitSignal: (content: string, targetClientId?: string) => void;\n}\n\n/**\n * @alpha\n */\nexport enum LoaderCachingPolicy {\n\t/**\n\t * The loader should not implement any prefetching or caching policy.\n\t */\n\tNoCaching,\n\n\t/**\n\t * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n\t */\n\tPrefetch,\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentServicePolicies {\n\t/**\n\t * Do not connect to delta stream\n\t */\n\treadonly storageOnly?: boolean;\n\n\t/**\n\t * Summarizer uploads the protocol tree too when summarizing.\n\t */\n\treadonly summarizeProtocolTree?: boolean;\n\n\t/**\n\t * Whether the driver supports the new getSnapshot api which returns snapshot which\n\t * contains all contents along with the snapshot tree. Enable this by default when the\n\t * driver can fully support the api.\n\t */\n\treadonly supportGetSnapshotApi?: boolean;\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {\n\tresolvedUrl: IResolvedUrl;\n\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\tpolicies?: IDocumentServicePolicies;\n\n\t/**\n\t * Access to storage associated with the document\n\t */\n\tconnectToStorage(): Promise<IDocumentStorageService>;\n\n\t/**\n\t * Access to delta storage associated with the document\n\t */\n\tconnectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n\t/**\n\t * Subscribes to the document delta stream\n\t */\n\tconnectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n\t/**\n\t * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n\t * Useful for storage to commit any pending state if any (including any local caching).\n\t * Please note that it does not remove the need for caller to close all active delta connections,\n\t * as storage may not be tracking such objects.\n\t * @param error - tells if container (and storage) are closed due to critical error.\n\t * Error might be due to disconnect between client & server knowledge about file, like file being overwritten\n\t * in storage, but client having stale local cache.\n\t * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n\t */\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tdispose(error?: any): void;\n}\n\n/**\n * @alpha\n */\nexport interface IDocumentServiceFactory {\n\t/**\n\t * Creates the document service after extracting different endpoints URLs from a resolved URL.\n\t *\n\t * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t *\n\t * @returns An instance of {@link IDocumentService}.\n\t */\n\tcreateDocumentService(\n\t\tresolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n\n\t/**\n\t * Creates a new document with the provided options. Returns the document service.\n\t *\n\t * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n\t * should be posted later, before connecting to ordering service.\n\t * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t */\n\tcreateContainer(\n\t\tcreateNewSummary: ISummaryTree | undefined,\n\t\tcreateNewResolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n * @alpha\n */\nexport interface ISummaryContext {\n\t/**\n\t * Parent summary proposed handle (from summary op)\n\t */\n\treadonly proposalHandle: string | undefined;\n\n\t/**\n\t * Parent summary acked handle (from summary ack)\n\t */\n\treadonly ackHandle: string | undefined;\n\n\treadonly referenceSequenceNumber: number;\n}\n\n/**\n * @alpha\n */\nexport enum FetchSource {\n\tdefault = \"default\",\n\tnoCache = \"noCache\",\n}\n\n/**\n * A \"Full\" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)\n *\n * @alpha\n */\nexport interface ISnapshot {\n\tsnapshotTree: ISnapshotTree;\n\tblobContents: Map<string, ArrayBuffer>;\n\tops: ISequencedDocumentMessage[];\n\n\t/**\n\t * Sequence number of the snapshot\n\t */\n\tsequenceNumber: number | undefined;\n\n\t/**\n\t * Sequence number for the latest op/snapshot for the file in ODSP\n\t */\n\tlatestSequenceNumber: number | undefined;\n\n\tsnapshotFormatV: 1;\n}\n\n/**\n * Snapshot fetch options which are used to communicate different things to the driver\n * when fetching the snapshot.\n * @alpha\n */\nexport interface ISnapshotFetchOptions {\n\t/**\n\t * Indicates scenario in which the snapshot is fetched. It is a free form string mostly\n\t * used for telemetry purposes.\n\t */\n\tscenarioName?: string;\n\t/**\n\t * Tell driver to cache the fetched snapshot. Driver is supposed to cache the fetched snapshot if this is\n\t * set to true. If undefined, then it is upto the driver, to cache it or not.\n\t */\n\tcacheSnapshot?: boolean;\n\n\t/**\n\t * Version of the snapshot to be fetched. Certain storage services just keep 1 snapshot for the\n\t * container, so specifying version is not necessary for storage services.\n\t */\n\tversionId?: string;\n\n\t/**\n\t * List of loading groupId of datastores for which the snapshot needs to be fetched. If not provided, content with\n\t * default/missing groupIDs will be requested from the service. It is upto the service, to include snapshot for\n\t * content with groupIds or not. Don't provide anything here for fetching content for initial container boot.\n\t */\n\tloadingGroupIds?: string[];\n\n\t/**\n\t * Specify if you want default behavior of the driver to fetch the snapshot like lets say simultaneously fetch from\n\t * network and cache or specify FetchSource.noCache to just fetch from network.\n\t */\n\tfetchSource?: FetchSource;\n}\n"]}
1
+ {"version":3,"file":"storage.js","sourceRoot":"","sources":["../src/storage.ts"],"names":[],"mappings":";AAAA;;;GAGG;;;AAyUH;;;GAGG;AACH,IAAY,mBAUX;AAVD,WAAY,mBAAmB;IAC9B;;OAEG;IACH,uEAAS,CAAA;IAET;;OAEG;IACH,qEAAQ,CAAA;AACT,CAAC,EAVW,mBAAmB,mCAAnB,mBAAmB,QAU9B;AAgID;;;GAGG;AACH,IAAY,WAGX;AAHD,WAAY,WAAW;IACtB,kCAAmB,CAAA;IACnB,kCAAmB,CAAA;AACpB,CAAC,EAHW,WAAW,2BAAX,WAAW,QAGtB","sourcesContent":["/*!\n * Copyright (c) Microsoft Corporation and contributors. All rights reserved.\n * Licensed under the MIT License.\n */\n\nimport type {\n\tIDisposable,\n\tIErrorEvent,\n\tIEvent,\n\tIEventProvider,\n\tITelemetryBaseLogger,\n} from \"@fluidframework/core-interfaces\";\n\nimport type { IAnyDriverError } from \"./driverError.js\";\nimport type {\n\tConnectionMode,\n\tIClient,\n\tIClientConfiguration,\n\tICreateBlobResponse,\n\tIDocumentMessage,\n\tINack,\n\tISequencedDocumentMessage,\n\tISignalClient,\n\tISignalMessage,\n\tISnapshotTree,\n\tISummaryHandle,\n\tISummaryTree,\n\tITokenClaims,\n\tIVersion,\n} from \"./protocol/index.js\";\nimport type { IResolvedUrl } from \"./urlResolver.js\";\n\n/**\n * @internal\n */\nexport interface IDeltasFetchResult {\n\t/**\n\t * Sequential set of messages starting from 'from' sequence number.\n\t * May be partial result, i.e. not fulfill original request in full.\n\t */\n\tmessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * If true, storage only partially fulfilled request, but has more ops\n\t * If false, the request was fulfilled. If less ops were returned then\n\t * requested, then storage does not have more ops in this range.\n\t */\n\tpartialResult: boolean;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @internal\n */\nexport interface IDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the inclusive sequence number range\n\t * @param tenantId - Id of the tenant.\n\t * @param id - document id.\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tget(\n\t\ttenantId: string,\n\t\tid: string,\n\t\tfrom: number, // inclusive\n\t\tto: number, // exclusive\n\t\tfetchReason?: string,\n\t): Promise<IDeltasFetchResult>;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport type IStreamResult<T> = { done: true } | { done: false; value: T };\n\n/**\n * Read interface for the Queue\n * @legacy\n * @alpha\n */\nexport interface IStream<T> {\n\tread(): Promise<IStreamResult<T>>;\n}\n\n/**\n * Interface to provide access to stored deltas for a shared object\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaStorageService {\n\t/**\n\t * Retrieves all the delta operations within the exclusive sequence number range\n\t * @param from - first op to retrieve (inclusive)\n\t * @param to - first op not to retrieve (exclusive end)\n\t * @param abortSignal - signal that aborts operation\n\t * @param cachedOnly - return only cached ops, i.e. ops available locally on client.\n\t * @param fetchReason - Reason for fetching the messages, for logging.\n\t * Example, gap between seq number of Op on wire and known seq number.\n\t * It can be logged by spo which could help in debugging sessions if any issue occurs.\n\t */\n\tfetchMessages(\n\t\tfrom: number,\n\t\tto: number | undefined,\n\t\tabortSignal?: AbortSignal,\n\t\tcachedOnly?: boolean,\n\t\tfetchReason?: string,\n\t): IStream<ISequencedDocumentMessage[]>;\n}\n\n// DO NOT INCREASE THIS TYPE'S VALUE\n// If a driver started using a larger value,\n// internal assumptions of the Runtime's GC feature will be violated\n// DO NOT INCREASE THIS TYPE'S VALUE\n/**\n * @legacy\n * @alpha\n */\nexport type FiveDaysMs = 432_000_000; /* 5 days in milliseconds */\n\n/**\n * Policies describing attributes or characteristics of the driver's storage service,\n * to direct how other components interact with the driver\n * @legacy\n * @alpha\n */\nexport interface IDocumentStorageServicePolicies {\n\t/**\n\t * Should the Loader implement any sort of pre-fetching or caching mechanism?\n\t */\n\treadonly caching?: LoaderCachingPolicy;\n\n\t/**\n\t * IMPORTANT: This policy MUST be set to 5 days and PROPERLY ENFORCED for drivers that are used\n\t * in applications where Garbage Collection is enabled. Otherwise data loss may occur.\n\t *\n\t * This policy pertains to requests for the latest snapshot from the service.\n\t * If set, it means that the driver guarantees not to use a cached value that was fetched more than 5 days ago.\n\t * If undefined, the driver makes no guarantees about the age of snapshots used for loading.\n\t */\n\treadonly maximumCacheDurationMs?: FiveDaysMs;\n}\n\n/**\n * Interface to provide access to snapshots saved for a shared object\n * @legacy\n * @alpha\n */\nexport interface IDocumentStorageService extends Partial<IDisposable> {\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\treadonly policies?: IDocumentStorageServicePolicies;\n\n\t/**\n\t * Returns the snapshot tree.\n\t * @param version - Version of the snapshot to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t */\n\t// TODO: use `undefined` instead.\n\t// eslint-disable-next-line @rushstack/no-new-null\n\tgetSnapshotTree(version?: IVersion, scenarioName?: string): Promise<ISnapshotTree | null>;\n\n\t/**\n\t * Returns the snapshot which can contain other artifacts too like blob contents, ops etc. It is different from\n\t * `getSnapshotTree` api in that, that API only returns the snapshot tree from the snapshot.\n\t * @param snapshotFetchOptions - Options specified by the caller to specify and want certain behavior from the\n\t * driver when fetching the snapshot.\n\t */\n\tgetSnapshot?(snapshotFetchOptions?: ISnapshotFetchOptions): Promise<ISnapshot>;\n\n\t/**\n\t * Retrieves all versions of the document starting at the specified versionId - or null if from the head\n\t * @param versionId - Version id of the requested version.\n\t * @param count - Number of the versions to be fetched.\n\t * @param scenarioName - scenario in which this api is called. This will be recorded by server and would help\n\t * in debugging purposes to see why this call was made.\n\t * @param fetchSource - Callers can specify the source of the response. For ex. Driver may choose to cache\n\t * requests and serve data from cache. That will result in stale info returned. Callers can disable this\n\t * functionality by passing fetchSource = noCache and ensuring that driver will return latest information\n\t * from storage.\n\t */\n\tgetVersions(\n\t\t// TODO: use `undefined` instead.\n\t\t// eslint-disable-next-line @rushstack/no-new-null\n\t\tversionId: string | null,\n\t\tcount: number,\n\t\tscenarioName?: string,\n\t\tfetchSource?: FetchSource,\n\t): Promise<IVersion[]>;\n\n\t/**\n\t * Creates a blob out of the given buffer\n\t */\n\tcreateBlob(file: ArrayBufferLike): Promise<ICreateBlobResponse>;\n\n\t/**\n\t * Reads the object with the given ID, returns content in arrayBufferLike\n\t */\n\treadBlob(id: string): Promise<ArrayBufferLike>;\n\n\t/**\n\t * Uploads a summary tree to storage using the given context for reference of previous summary handle.\n\t * The ISummaryHandles in the uploaded tree should have paths to indicate which summary object they are\n\t * referencing from the previously acked summary.\n\t * Returns the uploaded summary handle.\n\t */\n\tuploadSummaryWithContext(summary: ISummaryTree, context: ISummaryContext): Promise<string>;\n\n\t/**\n\t * Retrieves the commit that matches the packfile handle. If the packfile has already been committed and the\n\t * server has deleted it this call may result in a broken promise.\n\t */\n\tdownloadSummary(handle: ISummaryHandle): Promise<ISummaryTree>;\n}\n\n/**\n * Events emitted by {@link IDocumentService}.\n * @legacy\n * @alpha\n */\nexport interface IDocumentServiceEvents extends IEvent {\n\t/**\n\t * This event is used to communicate any metadata related to the container. We might have received metadata from the service.\n\t * Read more info on this event from here `IContainer.containerMetadata`.\n\t */\n\t(event: \"metadataUpdate\", listener: (metadata: Record<string, string>) => void);\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaConnectionEvents extends IErrorEvent {\n\t(event: \"nack\", listener: (documentId: string, message: INack[]) => void);\n\t(event: \"disconnect\", listener: (reason: IAnyDriverError) => void);\n\t(event: \"op\", listener: (documentId: string, messages: ISequencedDocumentMessage[]) => void);\n\t(event: \"signal\", listener: (message: ISignalMessage | ISignalMessage[]) => void);\n\t(event: \"pong\", listener: (latency: number) => void);\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\t(event: \"error\", listener: (error: any) => void);\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentDeltaConnection\n\textends IDisposable,\n\t\tIEventProvider<IDocumentDeltaConnectionEvents> {\n\t/**\n\t * ClientID for the connection\n\t */\n\tclientId: string;\n\n\t/**\n\t * Claims for the client\n\t */\n\tclaims: ITokenClaims;\n\n\t/**\n\t * Mode of the client\n\t */\n\tmode: ConnectionMode;\n\n\t/**\n\t * Whether the connection was made to a new or existing document\n\t */\n\texisting: boolean;\n\n\t/**\n\t * Protocol version being used with the service\n\t */\n\tversion: string;\n\n\t/**\n\t * Messages sent during the connection\n\t */\n\tinitialMessages: ISequencedDocumentMessage[];\n\n\t/**\n\t * Signals sent during the connection\n\t */\n\tinitialSignals: ISignalMessage[];\n\n\t/**\n\t * Prior clients already connected.\n\t */\n\tinitialClients: ISignalClient[];\n\n\t/**\n\t * Configuration details provided by the service\n\t */\n\tserviceConfiguration: IClientConfiguration;\n\n\t/**\n\t * Last known sequence number to ordering service at the time of connection\n\t * It may lap actual last sequence number (quite a bit, if container is very active).\n\t * But it's best information for client to figure out how far it is behind, at least\n\t * for \"read\" connections. \"write\" connections may use own \"join\" op to similar information,\n\t * that is likely to be more up-to-date.\n\t */\n\tcheckpointSequenceNumber?: number;\n\n\t/**\n\t * Properties that server can send to client to tell info about node that client is connected to. For ex, for spo\n\t * it could contain info like build version, environment, region etc. These properties can be logged by client\n\t * to better understand server environment etc. and use it in case error occurs.\n\t * Format: \"prop1:val1;prop2:val2;prop3:val3\"\n\t */\n\trelayServiceAgent?: string;\n\n\t/**\n\t * Submit a new message to the server\n\t */\n\tsubmit(messages: IDocumentMessage[]): void;\n\n\t/**\n\t * Submits a new signal to the server\n\t *\n\t * @privateRemarks\n\t * UnknownShouldBe<string> can be string if {@link IDocumentServiceFactory} becomes internal.\n\t */\n\tsubmitSignal: (content: string, targetClientId?: string) => void;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum LoaderCachingPolicy {\n\t/**\n\t * The loader should not implement any prefetching or caching policy.\n\t */\n\tNoCaching,\n\n\t/**\n\t * The loader should implement prefetching policy, i.e. it should prefetch resources from the latest snapshot.\n\t */\n\tPrefetch,\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentServicePolicies {\n\t/**\n\t * Do not connect to delta stream\n\t */\n\treadonly storageOnly?: boolean;\n\n\t/**\n\t * Summarizer uploads the protocol tree too when summarizing.\n\t */\n\treadonly summarizeProtocolTree?: boolean;\n\n\t/**\n\t * Whether the driver supports the new getSnapshot api which returns snapshot which\n\t * contains all contents along with the snapshot tree. Enable this by default when the\n\t * driver can fully support the api.\n\t */\n\treadonly supportGetSnapshotApi?: boolean;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentService extends IEventProvider<IDocumentServiceEvents> {\n\tresolvedUrl: IResolvedUrl;\n\n\t/**\n\t * Policies implemented/instructed by driver.\n\t */\n\tpolicies?: IDocumentServicePolicies;\n\n\t/**\n\t * Access to storage associated with the document\n\t */\n\tconnectToStorage(): Promise<IDocumentStorageService>;\n\n\t/**\n\t * Access to delta storage associated with the document\n\t */\n\tconnectToDeltaStorage(): Promise<IDocumentDeltaStorageService>;\n\n\t/**\n\t * Subscribes to the document delta stream\n\t */\n\tconnectToDeltaStream(client: IClient): Promise<IDocumentDeltaConnection>;\n\n\t/**\n\t * Dispose storage. Called by storage consumer (Container) when it's done with storage (Container closed).\n\t * Useful for storage to commit any pending state if any (including any local caching).\n\t * Please note that it does not remove the need for caller to close all active delta connections,\n\t * as storage may not be tracking such objects.\n\t * @param error - tells if container (and storage) are closed due to critical error.\n\t * Error might be due to disconnect between client & server knowledge about file, like file being overwritten\n\t * in storage, but client having stale local cache.\n\t * If driver implements any kind of local caching, such caches needs to be cleared on on critical errors.\n\t */\n\t// TODO: Use something other than `any`.\n\t// eslint-disable-next-line @typescript-eslint/no-explicit-any\n\tdispose(error?: any): void;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport interface IDocumentServiceFactory {\n\t/**\n\t * Creates the document service after extracting different endpoints URLs from a resolved URL.\n\t *\n\t * @param resolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t *\n\t * @returns An instance of {@link IDocumentService}.\n\t */\n\tcreateDocumentService(\n\t\tresolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n\n\t/**\n\t * Creates a new document with the provided options. Returns the document service.\n\t *\n\t * @param createNewSummary - Summary used to create file. If undefined, an empty file will be created and a summary\n\t * should be posted later, before connecting to ordering service.\n\t * @param createNewResolvedUrl - Endpoint URL data. See {@link IResolvedUrl}.\n\t * @param logger - Optional telemetry logger to which telemetry events will be forwarded.\n\t * @param clientIsSummarizer - Whether or not the client is the\n\t * {@link https://fluidframework.com/docs/concepts/summarizer/ | summarizer}.\n\t * `undefined` =\\> false\n\t */\n\tcreateContainer(\n\t\tcreateNewSummary: ISummaryTree | undefined,\n\t\tcreateNewResolvedUrl: IResolvedUrl,\n\t\tlogger?: ITelemetryBaseLogger,\n\t\tclientIsSummarizer?: boolean,\n\t): Promise<IDocumentService>;\n}\n\n/**\n * Context for uploading a summary to storage.\n * Indicates the previously acked summary.\n * @legacy\n * @alpha\n */\nexport interface ISummaryContext {\n\t/**\n\t * Parent summary proposed handle (from summary op)\n\t */\n\treadonly proposalHandle: string | undefined;\n\n\t/**\n\t * Parent summary acked handle (from summary ack)\n\t */\n\treadonly ackHandle: string | undefined;\n\n\treadonly referenceSequenceNumber: number;\n}\n\n/**\n * @legacy\n * @alpha\n */\nexport enum FetchSource {\n\tdefault = \"default\",\n\tnoCache = \"noCache\",\n}\n\n/**\n * A \"Full\" container Snapshot, including ISnapshotTree, blobs and outstanding ops (and other metadata)\n *\n * @legacy\n * @alpha\n */\nexport interface ISnapshot {\n\tsnapshotTree: ISnapshotTree;\n\tblobContents: Map<string, ArrayBuffer>;\n\tops: ISequencedDocumentMessage[];\n\n\t/**\n\t * Sequence number of the snapshot\n\t */\n\tsequenceNumber: number | undefined;\n\n\t/**\n\t * Sequence number for the latest op/snapshot for the file in ODSP\n\t */\n\tlatestSequenceNumber: number | undefined;\n\n\tsnapshotFormatV: 1;\n}\n\n/**\n * Snapshot fetch options which are used to communicate different things to the driver\n * when fetching the snapshot.\n * @legacy\n * @alpha\n */\nexport interface ISnapshotFetchOptions {\n\t/**\n\t * Indicates scenario in which the snapshot is fetched. It is a free form string mostly\n\t * used for telemetry purposes.\n\t */\n\tscenarioName?: string;\n\t/**\n\t * Tell driver to cache the fetched snapshot. Driver is supposed to cache the fetched snapshot if this is\n\t * set to true. If undefined, then it is upto the driver, to cache it or not.\n\t */\n\tcacheSnapshot?: boolean;\n\n\t/**\n\t * Version of the snapshot to be fetched. Certain storage services just keep 1 snapshot for the\n\t * container, so specifying version is not necessary for storage services.\n\t */\n\tversionId?: string;\n\n\t/**\n\t * List of loading groupId of datastores for which the snapshot needs to be fetched. If not provided, content with\n\t * default/missing groupIDs will be requested from the service. It is upto the service, to include snapshot for\n\t * content with groupIds or not. Don't provide anything here for fetching content for initial container boot.\n\t */\n\tloadingGroupIds?: string[];\n\n\t/**\n\t * Specify if you want default behavior of the driver to fetch the snapshot like lets say simultaneously fetch from\n\t * network and cache or specify FetchSource.noCache to just fetch from network.\n\t */\n\tfetchSource?: FetchSource;\n}\n"]}
@@ -4,6 +4,7 @@
4
4
  */
5
5
  import type { IRequest } from "@fluidframework/core-interfaces";
6
6
  /**
7
+ * @legacy
7
8
  * @alpha
8
9
  */
9
10
  export interface IResolvedUrl {
@@ -22,6 +23,7 @@ export interface IResolvedUrl {
22
23
  }
23
24
  /**
24
25
  * Container package info handed off to resolver.
26
+ * @legacy
25
27
  * @alpha
26
28
  */
27
29
  export interface IContainerPackageInfo {
@@ -31,6 +33,7 @@ export interface IContainerPackageInfo {
31
33
  name: string;
32
34
  }
33
35
  /**
36
+ * @legacy
34
37
  * @alpha
35
38
  */
36
39
  export interface IUrlResolver {
@@ -47,6 +50,7 @@ export interface IUrlResolver {
47
50
  /**
48
51
  * Information that can be returned by a lightweight, seperately exported driver function. Used to preanalyze a URL
49
52
  * for driver compatibility and preload information.
53
+ * @legacy
50
54
  * @alpha
51
55
  */
52
56
  export interface DriverPreCheckInfo {
@@ -62,6 +66,7 @@ export interface DriverPreCheckInfo {
62
66
  }
63
67
  /**
64
68
  * Additional key in the loader request header
69
+ * @legacy
65
70
  * @alpha
66
71
  */
67
72
  export declare enum DriverHeader {
@@ -1 +1 @@
1
- {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;GAEG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;GAGG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;GAEG;AACH,MAAM,WAAW,YAAY;IAI5B,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,cAAc,CACb,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACvC,OAAO,CAAC,MAAM,CAAC,CAAC;CACnB;AAED;;;;GAIG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;GAGG;AACH,oBAAY,YAAY;IAEvB,iBAAiB,4BAA4B;IAE7C,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG1C,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CAC9B;AAED,OAAO,QAAQ,iCAAiC,CAAC;IAChD;;;;OAIG;IAEH,UAAiB,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;CACjE"}
1
+ {"version":3,"file":"urlResolver.d.ts","sourceRoot":"","sources":["../src/urlResolver.ts"],"names":[],"mappings":"AAAA;;;GAGG;AAEH,OAAO,KAAK,EAAE,QAAQ,EAAE,MAAM,iCAAiC,CAAC;AAEhE;;;GAGG;AACH,MAAM,WAAW,YAAY;IAC5B,IAAI,EAAE,OAAO,CAAC;IACd;;OAEG;IACH,EAAE,EAAE,MAAM,CAAC;IACX,GAAG,EAAE,MAAM,CAAC;IACZ,MAAM,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;IACnC,SAAS,EAAE;QAAE,CAAC,IAAI,EAAE,MAAM,GAAG,MAAM,CAAA;KAAE,CAAC;CACtC;AAED;;;;GAIG;AACH,MAAM,WAAW,qBAAqB;IACrC;;OAEG;IACH,IAAI,EAAE,MAAM,CAAC;CACb;AAED;;;GAGG;AACH,MAAM,WAAW,YAAY;IAI5B,OAAO,CAAC,OAAO,EAAE,QAAQ,GAAG,OAAO,CAAC,YAAY,GAAG,SAAS,CAAC,CAAC;IAE9D;;;;;;OAMG;IACH,cAAc,CACb,WAAW,EAAE,YAAY,EACzB,WAAW,EAAE,MAAM,EACnB,iBAAiB,CAAC,EAAE,qBAAqB,GACvC,OAAO,CAAC,MAAM,CAAC,CAAC;CACnB;AAED;;;;;GAKG;AACH,MAAM,WAAW,kBAAkB;IAClC;;OAEG;IACH,eAAe,CAAC,EAAE,MAAM,CAAC;IAEzB;;;OAGG;IACH,mBAAmB,CAAC,EAAE,MAAM,EAAE,CAAC;CAC/B;AAED;;;;GAIG;AACH,oBAAY,YAAY;IAEvB,iBAAiB,4BAA4B;IAE7C,SAAS,cAAc;CACvB;AAED;;GAEG;AACH,MAAM,WAAW,aAAa;IAC7B,CAAC,YAAY,CAAC,iBAAiB,CAAC,EAAE,OAAO,CAAC;IAG1C,CAAC,YAAY,CAAC,SAAS,CAAC,EAAE,GAAG,CAAC;CAC9B;AAED,OAAO,QAAQ,iCAAiC,CAAC;IAChD;;;;OAIG;IAEH,UAAiB,cAAe,SAAQ,OAAO,CAAC,aAAa,CAAC;KAAG;CACjE"}
@@ -7,6 +7,7 @@ Object.defineProperty(exports, "__esModule", { value: true });
7
7
  exports.DriverHeader = void 0;
8
8
  /**
9
9
  * Additional key in the loader request header
10
+ * @legacy
10
11
  * @alpha
11
12
  */
12
13
  var DriverHeader;